SOAL
1. Jelaskan secara singkat apa yang anda ketahui tentang
UDP
2. Jelaskan perbedaan TCP dan UDP
3. Berikan contoh aplikasi –aplikasi yang menggunakan protokol UDP, dan
jelaskan bagaimana kerja aplikasi tersebut.
4. Bagaimana konsep Client Server dalam jaringan komputer
5. Jelaskan secara singkat apa yang anda ketahui tentang Protokol Transport.
6. Dalam protokol transport terdapat dua protokol utama yaitu TCP and UDP,
jelaskan perbedaan TCP dan UDP.
7. Berikan contoh aplikasi –aplikasi yang menggunakan protokol TCP, dan
jelaskan bagaimana kerja aplikasi tersebut.
8. Jelaskan langkah dan prinsip kerja socket programming untuk komunikasi dua
arah
JAWAB
1.
UDP (Unit
Datagram Protocol) adalah protocol connectionless message-based yang lebih
sederhana. Di protocol connectionless, tidak ada usaha yang dibuat untuk
koneksi end-to-end. Koumikasi dicapai dengan mengirimkan informasi satu arah,
dari source ke destination tanpa mengecek untuk melihat apakah tujuan masih
ada, atau apakah koneksi disiapkan untuk menerima informasi. Paket UDP melewati
jaringan dalam unit-unit yang berdiri sendiri.
Ciri-ciri
UDP adalah:
- Tidak
terpercaya
Ketika pesan dikirimkan, tidak dapat diketahui apakah akan sampai tujuan.
Paket dapat hilang di jalan. Tidak ada konsep acknoweledgment, retransimission,
dan timeout.
- Tidak
terurutJika dua pesan dikirimkan ke penerima yang sama, urutan sampainya
tidak dapat diprediksi.
- Lightweight
Tidak ada pemesanan pesan, tidak ada pelacakan koneksi, dll. Layer
transport yang kecil yang didesain di atas IP.
- Datagrams
Paket yang dikirimkan secara individu dan dijamin akan utuh jika sampai.
Paket-paket memiliki batas-batas yang pasti, dan tidak dipisan dan dibagi
ke dalam data stream yang mungkin ada
2. 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.
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.
Cara Kerja DNS (Domain Name
System)
Secara sederhana cara kerja DNS bisa dilihat pada gambar berikut ini:
DNS menggunakan relasi client – server untuk resolusi nama. Pada saat client
mencari satu host, maka ia akan mengirimkan query ke server DNS. Query adalah
satu permintaan untuk resolusi nama yang dikirimkan ke server DNS.
- Pada komputer Client, sebuah program aplikasi misalnya
http, meminta pemetaan IP Address (forward lookup query). Sebuah program
aplikasi pada host yang mengakses domain system disebut sebagai resolver,
resolver menghubungi DNS server, yang biasa disebut name server.
- Name server meng-cek ke local database, jika ditemukan,
name server mengembalikan IP Address ke resolver jika tidak ditemukan akan
meneruskan query tersebut ke name server root server.
- Terakhir barulah si client bisa secara langsung
menghubungi sebuah website / server yang diminta dengan menggunakan IP
Address yang diberikan oleh DNS server.
4. Konsep
client server
Jaringan
client atau server adalah jaringan dimana komputer client bertugas melakukan
permintaan data dan server bertugas melayani permintaan tersebut.
Client
·
User akan membuat permintaan melalui
software client. Aplikasi ini berfungsi :
·
Memberikan interface bagi user untuk
melakukan jobs.
·
Format request data ke bentuk yang dapat
dimengerti oleh server
·
Menampilkan hasil yang diminta pada
layar
Server
Jaringan client atau server, server khusus digunakan
untuk pemrosesan, penyimpanan dan manajemen data. Server bertugas menerima
request dari client, mengolahnya, dan mengirimkan kembali hasilnya ke client. Untuk
itu, server membutuhkan komputer khusus dengan spesifikasi hardware yang jauh
lebih baik dan bertenaga dibandingkan hardware untuk client karena komputer
harus mampu melayani :
·
Request secara simultan dalam jumlah
besar
·
Aktivitas manajemen jaringan
·
Menjamin keamanan pada resource jaringan
5.
Protokol
transport = protocol tcp dan protocol udp. selengkapnya ada di nomor 6
6. A.
Protokol
TCP ( Transmission Control Protocol
) adalah salah satu jenis protokol transfer data. 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.
B. Protokol UDP
UDP ( User Datagram Protocol) adalah
jenis transfer data yang lain dari TCP. UDP 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.
- UDP adalah “datagram-oriented”,
sedangkan TCP adalah “session-oriented”. Datagram adalah paket informasi
self-contained. UDP berhubungan dengan datagram atau paket individu yang
dikirim dari client ke server dan atau sebaliknya.
- UDP adalah connection-less. Client
tidak membangun koneksi ke server sebelum mengirim data, client hanya mengirim
data secara langsung.
- UDP adalah protokol yang tidak
andal, dalam artian :
·
Paket
dapat hilang. UDP tidak dapat mendeteksinya, sehingga pada program aplikasi
client – server, metode transmisi ulang dikarenakan data rusak atau hilang
harus dilakukan pada level aplikasi. Biasanya aplikasi menunggu hingga timeout
habis, dan kemudian mencoba lagi
·
Paket
dapat mengalami kerusakan. Paket UDP berisi checksum semua data dalam paket.
Checksum ini memungkinkan UDP mendeteksi kapan suatu paket mengalami kerusakan.
Jika hal ini terjadi, maka paket tersebut dikeluarkan, dan sebagaimana biasa
aplikasilah yang mendeteksi hal ini dan melakukan transmisi ulang seperlunya.
·
Karena
UDP adalah datagram-oriented dan pada level protokol setiap paket berdiri
sendiri, maka UDP tidak memiliki konsep paket sesuai urutan, yang selanjutnya
berarti tidak memerlukan nomor urut pada paket tersebut.
·
Karena
UDP tidak memerlukan mekanisme kontrol yang rumit, maka UDP dapat dianggap
lebih mudah dan lebih kecil ( dalam hal baris data dan memori ) untuk
diimplementasikan. Namun hal tersebut juga membuat UDP tidak cocok untuk
sejumlah besar data.
7.
Contoh protokol aplikasi yang menggunakan TCP :
- HTTP
(Hypertext Transfer Protocol)
- FTP
(File Transfer Protocol)
- SMTP
(Simple Mail Transfer Protocol)
Cara kerja
http
Bila kita mengklik link hypertext atau
kita mengetikkan suatu alamat atau URL pada internet browser, maka Anda sedang
mentransfer URL ke browser, dan Dari URL ini browser Anda tahu server mana yang
akan dihubungi dan file apa yang diminta kemudian web browser akan mengirimkan
perintah HTTP ke web server. Web server selanjutnya akan menerima perintah ini
dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser.
Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada
kita.
8. socket dua arah merupakan mekanisme
komunikasi yang memungkinkan terjadinya pertukaran data antar program
atau proses baik dalam satu mesin maupun antar mesin agar lebih jelas
dapat dilihat pada gambar dibawah ini : Di dalam kotak menunjukkan system call/function yang dibutuhkan untuk
koneksi/komunikasi, misal socket(), bind(), listen(), connect(), dll.
Secara garis
besar langkah – langkah yang dilakukan pada client dan server adalah
sebagai
berikut :
1. Langkah – langkah dasar di client :
a. Membuka koneksi client ke server, yang di dalamnya adalah :
9 Membuat socket dengan perintah socket()
9 melakukan pengalamatan ke server.
9 Menghubungi server dengan connect()
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()