Selasa, 11 Ogos 2009

Datagram Socket / UDP (User Datagram Protocol)

Jenis socket yang kedua ialah datagram socket yang disebut juga connectionless socket. Jika client mengirimkan data ke server, data tersebut ada kemungkinan sampai ke server atau tidak. Untuk itu client menunggu isyarat ‘error free’ daripada client. Jika client tidak menerima isyarat ‘error free’ dalam satu jangka waktu, maka client akan mengirimkan lagi data tersebut. Contoh aplikasi yang menggunakan datagram socket adalah tftp dan bootp.


Enkapsulasi data



Data yang dikirimkan melalui datagram socket akan melalui proses yang diberi nama enkapsulasi (data encapsulation). Data yang akan dikirimkan sebelumnya dibungkus dulu dengan sebuah header dari protokol yang pertama (misalnya TFTP), lalu dibungkus lagi dengan protokol berikutnya (misalnya UDP), lalu IP dan yang terakhir dibungkus dengan ethernet protokol pada physical layer.



Algorithma pemprograman datagram socket



Pada socket datagram algoritmanya lebih sederhana, tidak memerlukan sambungan antara server dan client. Sehingga system call/function yang diperlukan, iaitu socket(), bind(), sendto() dan recvfrom(), sendto() dan recvfrom() adalah fungsi khusus yang digunakan untuk mengirim dan menerima data pada socket datagram.

Antara langkah – langkah yang dilakukan pada client dan server, pada socket datagram adalah seperti berikut :

1. Langkah – langkah di client :
a. Membuka connection client ke server, yang di dalamnya adalah :
i. Membuat socket dengan perintah socket().
ii. Melakukan pengalamatan ke server.
b. Melakukan komunikasi (mengirimkan data), dengan menggunakan perintah sendto()
c. Menutup hubungan dengan perintah close();

2. Langkah – langkah di server :
a. Membuat socket dengan perintah socket()
b. Mengikatkan socket kepada sebuah alamat network dengan perintah bind()
c. Melakukan komunikasi (menerima data), dengan menggunakan perintah recvfrom()

1 ulasan: