§ 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.Header UDP berisi field Source
Process Identification dan Destination Process Identification.
§ UDP menyediakan penghitungan checksum berukuran 16-bit
terhadap keseluruhan pesan 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 yang ringan adalah
fungsi query nama dalam protokol lapisan aplikasi Domain Name System.
§ 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.
2. Berbeda dengan TCP, UDP merupakan connectionless dan
tidak ada kehandalan, windowing, serta fungsi untuk memastikan data diterima
dengan benar. Namun, UDP 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.
- 3. 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.
Trivial File Transfer Protocol (TFTP) adalah sebuah protokol perpindahan bekas yang
sangat sederhana yang didefinisikan pada tahun 1980.
TFTP memiliki fungsionalitas dasar dari protokol File Transfer Protocol (FTP). TFTP digunakan untuk melakukan booting komputer
seperti halnya router jaringan komputer yang
tidak memiliki perangkat penyimpanan
data. Protokol ini kini masih digunakan untuk mentransfer
berkas-berkas kecil antar host di dalam sebuah jaringan, seperti halnya ketika
terminal jarak jauh X Window System atau thin client lainnya melakukan proses booting dari sebuah host jaringan atau server. TFTP dibuat
berdasarkan protokol yang sebelumnya disebut dengan Easy File
Transfer Protocol (EFTP),
yang merupakan bagian dari kumpulan protokol PARC
Universal Packet (PUP).
Pada awal-awal pengembangan protokol TCP/IP,
TFTP merupakan protokol pertama kali yang diimplementasikan dalam sebuah jenis
host jaringan, karena memang sangat sederhana.
Versi asli TFTP, sebelum direvisi oleh RFC
1350, menampilkan sebuah kelemahan protokol, yang diberinama Sorcerer's Apprentice Syndrome, saat pertama kali ditemukan. TFTP pertama kali
muncul sebagai bagian dari sistem operasi 4.3 BSD.
Protokol ini juga masih dimasukkan ke dalam Mac OS X,
paling tidak hingga versi 10.5. Akhir-akhir ini, TFTP sering digunakan oleh worm komputer, seperti W32.Blaster
, sebagai metode untuk menyebarkan
dirinya dan menginfeksi host jaringan lainnya.
- 4. Sesuai
dengan namanya, Client - Server berarti adanya pembagian kerja pengolahan data antara client dan server. Secara singkat, jaringan client – server adalah
jaringan dimana komputer client bertugas melakukan permintaan data dan server
melayani permintaan tersebut. Komputer client menerima instruksi dari user
melalui interface yang disediakan, mengubah format instruksi ke bentuk yang
dapat dimengerti oleh database server dan mengirimkannya melalui jaringan ke
server yang dituju. Kemudian server akan mengolah request, memilih informasi
yang sesuai dan mengirimkan kembali data hasil penngolahan ke client.
- 5. Salah satu protokol transport yang dapat digunakan adalah PGM (Pragmatic General Multicast). Pragmatic General Multicast (PGM) adalah protokol transport multicast
yang handal. PGM menyediakan urutan paket ke beberapa penerima sekaligus, sehingga cocok untuk aplikasi seperti pengiriman file kebanyak penerima.
Protokol multicast ini menambahkan kemampuan pada penerima untuk mendeteksi paket data yang hilang dan mampu mengambiltindakan korektif (mirip secara prinsip dengan TCP). Sementara TCP menggunakan ACK untuk mengakui kelompok paket yang dikirimkan, PGM menggunakan konsep negative acknewledgement (NAKs). NAK dikirim secara unicast kembali ke pengirim melalui prosedur hop
by hop setiap kali ada deteksi kehilangan data dari suatu urutan tertentu. PGM sangat bergantung pada NAKs untuk integritas, ketika
NAK akan dikirim, NAK confirmation (NCF) dikirim
melalui multicast untuksetiap hop. Repaired Data (RDATA) kemudian dikirim kembali baik dari sumber atau dari
Designated Local Repaired (DLR). PGM merupakan protokol yang dikembangkan oleh IETF. PGM belum merupakan
standar, tapi telah diimplementasikan
pada beberapa perangkat dan operating system, seperti windows xp.
- Komunikasi logika pada lapisan transport
dapat berbentuk :
· Connectionless
atau connection-oriented
· Reliable
atau unreliable. Reliable berarti data ditransfer ke tujuannya dalam suatu
urutan seperti ketika dikirim. Pengiriman data unreliable sangat menggantungkan
diri pada lapisan jaringan dibawahnya, sehingga tidak dapat menyakinkan apakah
segment data yang dikirimkan sampai ditujuannya atau tidak.
· Stateful
atau stateless. Pengiriman data statefulo berarti informasi yang dimasukkan
pada satu request, yang dikirimkan dari pengirim ke penerima, dapat dimodifikasi
untuk request berikutnya. Sedangkan pengiriman stateless berarti informasi
dalam satu request tidak dapat dikaitkan dengan request lainnya, sehingga tidak
dapat digunakan untuk request lainnya.
Fungsi protocol transport :
· Menyediakan
komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda
· Protocol
transport benrjalan pada end systems
- 6. TCP mempunyai karakteristik sebagai protokol yang
berorientasi koneksi (Connection oriented). Sebelum terjadi proses tranfer
data, maka yang pertama dilakukan adalah kedua belah pihak melakukan caal request
dan call accept. Protokol TCP menggunakan jalur data full duplex yang berarti
antara kedua host terdapat dua buah jalur, jalur masuk dan jalur keluar
sehingga data dapat dikirimkan secara simultan. Sebuah circuit virtual
disiapkan sebelum packet-packet dikirimkan. Pada masing-masing packet terdapat
virual circuit identifier yang berisi alamat tujuan packet tersebut. Data yang
dikirimkan dalam sebuah protokol TCP maka akan diurutkan dengan sebuah nomor
urut dan akan mengharap packet positive acknowledgment. Apabila tidak ada
packet positive acknowledgment, maka packet akan dikirim ulang. Oleh karena
itu, protokol TCP reliable. Akan tetapi karena harus mengecek setiap packet
yang dikirmkan, maka protokol TCP relatif lambat. Pada TCP, hanya bisa melakukan
koneksi one-to-one dan tidak bisa melakukan koneksi one-to-many. Karena
rute-rute packet sudah ditentukan sebelumnya, maka akan lebih sulit bagi
jaringan untuk beradaptasi dengan kemacetan. Apabila sebuah simpul/node
mengalami kerusakan/kegagalan, maka seluruh virtual circuit yang melewati
simpul tersebut akan hilang.
- UDP ( User Datagram Protocol) adalah mempunyai karateristik
connectionless (tidak berbasis koneksi). Dengan kata lain, data yang dikirimkan
dalam bentuk packet tidak harus melakukan call setup seperti pada TCP. Selain
itu, data dalam protokol UDP akan dikirimkan sebagai datagram tanpa adanya
nomor identifier. Sehingga sangat besar sekali kemungkinan data sampai tidak
berurutan dan sangat mungkin hilang/rusak dalam perjalananan dari host asal ke
host tujuan. Tergantung pada host penerima/tujuan, apakah akan meminta kembali
pakcet yang rusak atau hilang. Kelebihan UDP adalah pada saat digunakan pada
lightweight protokol, misalnya saja DNS(Domain Name Service). Selain itu
protokol UDP lebih fleksibel karena misalnya saja terjadi kemacetan pada salah
satu bagian jaringan, maka datagram dapat dialihkan menghindari bagian yang
mengalami kemacetan tersebut. Kemudian apabila sebuah simpul(node) mengalami
kerusakan/kegagalan, maka pacekt packet berikutnya dapat menemukan jalan/rute
pengganti yang melewati simpul tersebut.
- 7. Contoh protokol aplikasi yang
menggunakan TCP :
· HTTP (Hypertext Transfer Protocol)
· FTP (File Transfer Protocol)
· SMTP (Simple Mail Transfer Protocol)
Hypertext Transfer Protocol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi
terdistribusi, kolaboratif, dan
menggunakan hipermedia. Penggunaannya banyak pada pengambilan sumber daya
yang saling terhubung dengan tautan, yang disebut dengan dokumen hiperteks,
yang kemudian membentuk World Wide Web. HTTP adalah sebuah protokol
meminta atau menjawab antara client dan server. Sebuah client
HTTP biasanya memulai permintaan dengan membuat hubungan ke port tertentu di sebuah server Webhosting tertentu (biasanya port 80). Client yang mengirimkan
permintaan HTTP juga dikenal dengan user agent. Server yang
meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar,
dikenal juga sebagai origin server. Di antara user
agent dan juga origin server,
bisa saja ada penghubung, seperti halnya proxy, gateway,
dan juga tunnel. HTTP tidaklah
terbatas untuk penggunaan dengan TCP/IP, meskipun HTTP merupakan salah satu
protokol aplikasi TCP/IP paling populer melalui Internet. Memang HTTP dapat
diimplementasikan di atas protokol yang lain di atas Internet atau di atas
jaringan lainnya, tetapi HTTP membutuhkan sebuah protokol lapisan transport
yang dapat diandalkan. Sumber daya yang
hendak diakses dengan menggunakan HTTP diidentifikasi dengan menggunakan Uniform
Resource Identifier (URI),
atau lebih khusus melalui Uniform
Resource Locator(URL) menggunakan skema
URI http:
atau https:
.
8. Secara garis besar
langkah-langkah yang harus dilakukan pada client dan server adalah sebagai
berikut:
1. Langkah-langkah dasar
client :
a. Membuka koneksi client ke server yang didalamnya adalah
:
·
Membuat socket dengan perintah socket()
·
Melakukan pengalamatan ke server
·
Menghubungi server dengan perintah close();
b. Melakukan komunikasi (mengirim dan menerima data),
dengan menggunakan perintah write() dan read()
c. Menutup hubungan dengan perintah close();
2. Langkah-langkah dasar di server :
a. Membuat socket dengan perintah socket()
b. Mengikatkan socket kepada sebuah alamat network dengan
perintah bind()
c. Menyiapkan socket untuk menerima koneksi yang masuk
dengan perintah listen()
d. Menerima koneksi yang masuk ke server dengan perintah
accept()
e. Melakukan komunikasi (mengirim dan menerima data),
dengan menggunakan perintah write() dan read()
- Pada saat suatu aplikasi berkomunikasi, awalnya aplikasi
membuat socket baru, maka pada aplikasi tersebut akan diberikan nomer yang
digunakan sebagai referensi socket. Jika ada suatu sistem yang menggunakan
nomer socket tersebut, maka akan terjalin suatu jaringan komunikasi antar computer
sebaik transfer data lokal.
- Untuk berkomunikasi dengan server, client harus tahu nomor IP
server, begitu juga nomor port yang dituju. Nomor port menunjukkan service yang
dijalankan. Contoh port 23 untuk Telnet Server, port 25 untuk Mail Server dan port
80 untuk Web Server. Program yang berjalan di server, akan berjalan sepanjang
waktu sampai mesin/service dimatikan, menunggu request dari client sesuai
service yang diminta.