- 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
JAWABAN
- 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 768. 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.
UDP sering digunakan dalam beberapa tugas berikut:
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
8. Secara garis besar langkah-langkah yang harus dilakukan pada client dan server adalah sebagai berikut:
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.
0 komentar:
Posting Komentar