SOAL
- Jelaskan secara singkat apa yang anda ketahui tentang UDP
- Jelaskan perbedaan TCP dan UDP
- Berikan contoh aplikasi –aplikasi yang menggunakan protokol UDP, dan jelaskan bagaimana kerja aplikasi tersebut
- Bagaimana konsep Client Server dalam jaringan komputer
- Jelaskan secara singkat apa yang anda ketahui tentang Protokol Transport.
- Dalam protokol transport terdapat dua protokol utama yaitu TCP and UDP, jelaskan perbedaan TCP dan UDP.
- Berikan contoh aplikasi –aplikasi yang menggunakan protokol TCP, dan jelaskan bagaimana kerja aplikasi tersebut.
- 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)
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
(pengertiannya lihat nomor 6 )
6. a. Protokol TCP
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.
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 :
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 :
- Membuat socket dengan perintah socket()
- Melakukan pengalamatan ke server.
- Menghubungi server dengan connect()
menggunakan perintah write() dan read()
c. Menutup hubungan dengan perintah close() ;
a. Membuka koneksi client ke server, yang di dalamnya adalah :
- Membuat socket dengan perintah socket()
- Melakukan pengalamatan ke server.
- Menghubungi server dengan connect()
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()
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()
0 komentar:
Posting Komentar