TUGAS PEMROGRAMAN JARINGAN KE - 8



  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

   JAWABAN



  1. UDP (User Datagram Protocol) adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak handal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP. Protokol ini didefinisikan dalam RFC 768UDP 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.


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.
  1.     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. 





  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar