1.3
Transmission Control Protocol (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).
1.1
Karakteristik
TCP
a.
Reliable berarti data ditransfer ke tujuannya dalam
suatu urutan seperti ketika dikirim.
b. 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).
c.
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.
d.
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.
e.
Melakukan segmentasi terhadap data yang datang dari
lapisan aplikasi (dalam DARPA Reference Model).
f.
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.
1.2
Kegunaan TCP
a.
Menyediakan komunikasi logika antar proses aplikasi
yang berjalan pada host yang berbeda
b.
protokol transport berjalan pada end systems
c.
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)
d.
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)
e.
Computer mail. Digunakan untuk menerapkan sistem
elektronik mail.
f.
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)
g.
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”)
h.
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.)
2.
User
Datagram Protocol (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.
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.
2.1
Karakteristik
UDP
a.
Connectionless (tanpa koneksi): Pesan-pesan UDP akan
dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang
hendak berukar informasi.
b.
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.
c.
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. Header UDP berisi field Source Process
Identification dan Destination Process Identification.
d.
UDP menyediakan penghitungan checksum berukuran 16-bit
terhadap keseluruhan pesan UDP.
2.2
Kegunaan UDP
UDP sering digunakan dalam beberapa tugas berikut:
a.
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 yang ringan adalah fungsi
query nama dalam protokol lapisan aplikasi Domain Name System.
b.
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)
c.
Protokol yang tidak membutuhkan keandalan. Contoh
protokol ini adalah protokol Routing Information Protocol (RIP).
d.
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.
3.
PERBEDAAN TCP DAN UDP:
a.
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.
b.
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.
c.
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.