Tugas Pemrograman Jaringan 9

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. UDP memiliki beberapa karakteristik, antara lain:
  •  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.
2. Perbedaan TCP dengan UDP :
TCP :
  • 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).
  • Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket  positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP  dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
  • 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.
UDP:
  • 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 tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
  • 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  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.
3.  Contoh Apliksi yang menggunakan UDP:
  • Trivial File Transfer Protocol (TFTP). Cara kerja aplikasi ini yaitu TFTP client melakukan inisialisasi dengan mengirimkan permintaan untuk read/write melalui port 69, kemudian server dan client melakukan negosiasi tentang port yang akan digunakan untuk melakukan transfer file 
  • Domain Name System (DNS). Cara kerja aplikasi ini yaitu DNS resolver, sebuah program klien yang berjalan di komputer pengguna, membuat permintaan DNS dari program aplikasi. Kemudian, recursive DNS server melakukan pencarian melalui DNS sebagai tanggapan permintaan dari resolver dan mengembalikan jawaban kepada para resolver tersebut. Lalu, authoritative DNS server memberikan jawaban terhadap permintaan dari recursor, baik dalam bentuk sebuah jawaban maupun dalam bentuk delegasi (misalkan: mereferensikan ke authoritative DNS server 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. Protokol transport adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pengiriman berkas (file) komputer antarmesin dalam sebuah jaringan. Setiap proses pada aplikasi harus mendefinisikan protokol transport mana yang akan digunakan. Contoh: HTTP, FTP, SMTP menggunakan TCP, sedangkan DNS dan Internet Telephony menggunakan UDP.

6. 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.
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 antarprogram atau proses baik dalam satu mesin maupun antarmesin.
Langkah dan prinsip kerja socket programming untuk komunikasi dua arah yang dilakukan pada client dan server adalah sebagai berikut :
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()
b. Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write()  dan  read()
c.   Menutup hubungan dengan perintah close();
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()

0 Response to "Tugas Pemrograman Jaringan 9"

Posting Komentar