0% menganggap dokumen ini bermanfaat (0 suara)
258 tayangan10 halaman

Socket Programming: Udp Echo Client/server

Program UDP echo client/server menggunakan protokol UDP untuk mengirim dan menerima pesan secara langsung tanpa membangun koneksi terlebih dahulu. Program ini dapat digunakan untuk mempelajari konsep socket programming dan komunikasi client-server menggunakan protokol UDP.

Diunggah oleh

Lusiana Diyan
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
258 tayangan10 halaman

Socket Programming: Udp Echo Client/server

Program UDP echo client/server menggunakan protokol UDP untuk mengirim dan menerima pesan secara langsung tanpa membangun koneksi terlebih dahulu. Program ini dapat digunakan untuk mempelajari konsep socket programming dan komunikasi client-server menggunakan protokol UDP.

Diunggah oleh

Lusiana Diyan
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 10

LAPORAN PRAKTIKUM JARINGAN KOMPUTER

SOCKET PROGRAMMING: UDP ECHO CLIENT/SERVER

(PYTHON)

LUSIANA DIYAN NINGRUM (2210181051)

2 D4 TEKNIK KOMPUTER B

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

SURABAYA

2020
SOCKET PROGRAMMING: UDP ECHO CLIENT/SERVER

(PYTHON)
A. TUJUAN
1. Mahasiswa dapat menjelaskan konsep jaringan berbasis client-server
2. Mahasiswa dapat menjelaskan konsep pemrograman socket berbasis UDP
3. Mahasiswa dapat menjelaskan cara kerja program UDP echo client/server

B. PENDAHULUAN
User Datagram Protocol (UDP) merupakan protokol yang bersifat
connectionless. UDP tidak dapat menjamin pengiriman maupun urutan paket. Sealain
itu juga tidak ada mekanisme handshaking. Sehingga, reliabilitas UDP tidak sebaik
TCP. UDP menyediakan checksum untuk integritas data dan port number sebagai
pengalamatan. UDP diperlukan untuk aplikasi yang membutuhkan komunikasi efisien
dan cepat tanpa mempermasalahkan packet loss.
Pada gambar 1 menunjukkan proses pengiriman data untuk komunikasi
menggunakan protokol UDP. Bila dilihat pada gambar ataupun pada prosedur
percobaan, pada sisi server tidak ada proses listen dan accept seperti pada TCP.
Namun, hanya ada proses bind untuk menghubungkan socket dengan port dan proses
menunggu pesan yang dikirim dari client. Sedangkan pada sisi client menggunakan
sendto() untuk mengirimkan pesan secara langsung ke server, dan recvfrom() untuk
menerima pesan balasan dari server.

Gambar 1. UDP Socket


C. PROSEDUR PERCOBAAN
1. Buatlah program echo server

2. Buatlah program echo client


3. Jalankan program server.py terlebih dulu. Tampilkan hasil pengujian anda.
(Catatan : port tersebut adalah port server, dimana client nantinya akan
menggunakan port tersebut agar terhubung ke server, gunakan non privileged
ports)

4. Jalankan program echo client secara terpisah terminal atau command prompt dari
program echo server. Tampilkan hasil pengujian anda.

Sedangkan pada server akan tampil seperti berikut:

Beberapa saat kemudian akan tampil tulisan seperti berikut pada sisi client

5. Pada pengujian di prosedur 3 dan 4 menggunakan localhost, anda dapat juga


menggunakan host yang berbeda dengan menyesuaikan IP address tujuan.
6. Lakukan packet analysis menggunakan aplikasi Wireshark untuk mengamati
pengiriman datamenggunakan protokol UDP

7. Lakukan packet analysis menggunakan aplikasi Wireshark untuk mengamati


pengiriman data menggunakan protokol TCP, gunakan program TCP socket pada
praktikum sebelumnya
8. Lakukan analisa dari pengamatan yang sudah anda lakukan menggunakan
protokol TCP dan UDP. Jelaskan apa saja yang dapat anda analisa dari capture
paket pada Wireshark, dan apa saja perbedaan pada paket data yang dikirimkan
menggunaakan TCP dan UDP.

ANALISA

Jaringan client server didefinisikan sebagai suatu arsitektur jaringan komputer dimana


perangkat client melakukan proses meminta data, dan server yang memiliki tugas untuk
memberikan respon berupa data terhadap request tersebut. Perangkat client biasanya berupa
perangkat komputer dengan aplikasi software jaringan yang telah terinstal guna untuk
meminta dan menerima data melalui jaringan. Server merupakan sebuah komputer yang
dirancang khusus untuk melayani client dengan memproses request yang telah diterima dari
client lalu kemudian mengirimkan kembali respon data kepada client melalui jaringan. Server
menyimpan informasi dan data yang kompleks yang mungkin dibutuhkan client, oleh karena
itu biasanya server terdiri dari komputer dengan performa yang tinggi baik dari segi
pemrosesan maupun dari segi memori, hal tersebut agar server mampu melayani request dari
banyak client secara bersamaan.
Socket programming adalah pemrograman yang menggunakan socket. Socket ini
semacam terowongan/tunnel yang bisa dipakai untuk komunikasi/pertukaran arah secara
bolak-balik. Dengan socket programming, komunikasi dapat terjalin antara bahasa
pemrograman yang berbeda, antara tingkatan user yang berbeda, bahkan antar komputer yang
berbeda atau gabungan ketiganya.
Secara garis besar langkah–langkah yang dilakukan pada client adalah sebagai berikut
dimulai dengan membuka koneksi client ke server, yang di dalamnya adalah membuat socket
dengan perintah socket(), kemudian melakukan pengalamatan ke server. Setelah itu
melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah
recvfrom() dan sendto(). Dan terakhir menutup hubungan dengan perintah close(). Untuk
menampilkan hasil pada terminal menggunakan perintah echo().
Sama halnya dengan langkah – langkah yang dilakukan pada client, untuk membuat
server yang harus dilakukan antara lain dimuali dengan membuat socket dengan perintah
socket(). Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan
perintah recvfrom() dan sendto( ). Dan untuk menampilkan hasil pada terminal menggunakan
perintah echo().
Jaringan komputer dalam melakukan pengiriman data bisa diilustrasikan sebagai
pengiriman surat. Supaya surat bisa terkirim secara benar maka alamat pengirim dan
penerima harus tertulis dengan jelas dan lengkap. Begitu juga dalam koneksi di socket,
diperlukan variable yang dipakai untuk menyimpan address client dan server.
Proses dari kerja aplikasi yang menggunakan UDP adalah untuk bisa melakukan
koneksi client server, program server harus berjalan terlebih dahulu. UDP memiliki sebuah
saluran (channel) yang berguna untuk menghubungkan host antar host untuk saling berkirim
informasi. Channel ini kemudian disebut dengan port UDP. Agar dapat terhubung dengan
protokol UDP, aplikasi pada komputer terlebih dahulu perlu menyediakan alamat IP serta
nomor port UDP dari host yang ingin dituju. Port UDP ini berguna sebagai sebuah
multiplexed message queue. Artinya, port UDP tersebut kemudian mampu bekerja dengan
menerima beberapa pesan secara bersamaan. Setiap port UDP memiliki identifikasi dengan
nomor yang unik, namun memiliki pembagian tersendiri seperti yang telah dijelaskan
sebelumnya. Pada kehidupan sehari-hari UDP dianalogikan seperti proses pengiriman pesan
pada alat komunikasi telepon selular dengan menggunakan fasilitas SMS (Short Messsage
Service) dimana kita tidak harus selalu berada ditempat untuk menunggu pesan karena pesan
yang dikirim melalui fasilitas SMS akan sampai sekalipun telepon selular itu tidak diaktifkan.

Wireshark adalah program Network Protocol Analyzer atau penganalisa protokol


jaringan yang lengkap. Program ini dapat merakam semua paket yang lewat serta menyeleksi
dan menampilkan data tersebut sedetail mungkin. Wireshark bekerja dengan cara merekam
semua paket yang melewati interface yang dipilih (Interface adalah perangkat penghubung
antar jaringan, bisa melalui wifi atau ethernet / lan card). Hasil rekaman tadi dapat dianalisa.
disini kita dapat memfilter protocol apa yang kita inginkan seperti tcp, http, udp dan
sebagainya. Wireshark juga dapat mencatat cookie, post dan request.

KESIMPULAN

Berdasarkan praktikum dan analisa dapat ditarik kesimpulan sebagai berikut :

1. Jaringan client server merupakan suatu arsitektur jaringan komputer dimana perangkat


client melakukan proses meminta data, dan server yang memiliki tugas untuk
memberikan respon berupa data terhadap request tersebut.
2. User Datagram Protocol (UDP) merupakan protokol yang bersifat connectionless
sehingga client tidak membangun koneksi ke server sebelum mengirim data – client
hanya mengirim data secara langsung.
TUGAS PERTANYAAN

1. Jelaskan beberapa keunggulan protokol UDP

 Dapat disiarkan dengan cepat karena tidak memerlukan handshaking


 Koneksi lebih cepat karena mereka tidak perlu bernegosiasi (berjabat tangan) dan juga
pengirimannya tidak berurutan
 Hemat memori karena tanpa memecah data, membuat acknowledge, dan lainnya

2. Sebutkan beberapa contoh penerapan protokol UDP pada pengiriman data di


jaringan internet, serta jelaskan mengapa aplikasi tersebut menggunakan UDP.

UDP adalah kependekan dari User Datagram Protocol metupakan bagian dari internet
protocol. Dengan UDP, aplikasi komputer dapat mengirimkan pesan kepada komputer
lain dalam jaringan lain tanpa melakukan komunikasi awal. UDP melakukan
komunikasi secara sederhana dengan mekanisme yang sangat minimal. UDP
digunakan untuk komunikasi yang sederhana seperti query DNS (Domain Name
System),  NTP (Network Time Protocol),  DHCP (Dinamic Host Configuration
Protocol), dan RIP   (Routing Information Protocol).

Pada query DNS, komputer meminta informasi suatu data dari suatu domain kepada
DNS server. Data ini mungkin alamat web server, alamat mail server dan data-data
yang lain terkait domain. DNS server akan membalas dengan memberikan informasi
yang diinginkan client Pada NTP, client meminta informasi waktu kepada NTP
server. NTP server akan membalas waktu pada saat itu. Dengan demikian maka client
akan memiliki system waktu yang akurat. Pada DHCP, client akan menghubungi
DHCP server untuk meminta alamat IP untuk dia pakai sendiri. DHCP server akan
memberikan informasi alamat IP supaya digunakan oleh client tersebut. Pada RIP,
server RIP akan melakukan broadcast informasi routing kepada router-router yang
lain.

UDP cocok untuk pengiriman informasi yang lebih menekankan kecepatan daripada
kehandalan. Contoh aplikasi ini adalah audio streaming dan video streaming.

3. Jelaskan perbedaan TCP dan UDP

Perbedaan TCP UDP


Jenis Koneksi Connection-oriented : semua Connectionless : semua
paket data yang dikirimkan paket data dikirimkan tanpa
akan diperiksa kembali. Jika adanya pengecekan hingga
terdapat informasi yang semua data sampai ke
hilang / tidak sesuai dengan tujuan. Hal ini
paket yang dikirimkan, menyebabkan, jika ada
maka paket data akan informasi yang hilang akan
dikirimkan kembali. diabaikan.
Connection based : Not connection based : paket
pengiriman paket data data akan langsung
Basis koneksi melalui internet dari satu dikirimkan ke tujuan. (host-
komputer ke komputer lain. to-host tidak dalam jaringan
(dalam jaringan) TCP/IP)
Cocok untuk aplikasi yang
Cocok untuk aplikasi yang
membutuhkan transmisi
memerlukan keandalan
Penggunaan cepat, efisien dan
tinggi dengan waktu yang
mengijinkan adanya sedikit
kurang cepat.
informasi yang hilang.
Game, DNS (Domain Name
System), SNMP (Simple
Network Management
Telnet, FTP (File Transfer Protocol), Remote Procedure
Contoh aplikasi / port Protocol), SMTP (Simple Call (RPC), Lightweight
Mail Transfer Protocol) Directory Access Protocol
(LDAP), TFTP dan
SunRPC.

Digunakan untuk
Membutuhkan overhead
Overhead memaksimalkan
yang lebih kecil.
performansi.
Ukuran header 20 byte 8 byte
Membutuhkan three-way- Tidak membutuhkan
Pembuatan koneksi
handshake*. pembuatan koneksi.
Data terjamin akan sampai Tidak terjamin data akan
Keandalan (reliability) sesuai urutannya dan tidak sama persis dengan yang
ada data yang hilang (utuh). dikirimkan.
Dapat mengijinkan transfer Hanya mengijinkan transfer
Besar paket dengan data yang besar per data untuk data kecil per
paketnya. paketnya.
Menawarkan keamanan Tidak dapat menawarkan
Keamanan yang lebih baik untuk keamanan pada data yang
spoofing attack. dikirimkan.
 Tidak memiliki flow
Data flow control  Memiliki flow control.
control.
TCP adalah protokol yang
memiliki karakteristik
Karakteristik UDP tidak berbasis koneksi
berdasarkan koneksi atau
berorientasi koneksi.
Komunikasi TCP memungkinkan UDP kurang dapat
beberapa komputer berbeda diandalkan dalam
untuk berkomunikasi dan memfasilitasi komunikasi
bertukar data. tanpa koneksi antara
beberapa komputer host,
yang berada di jaringan
TCIP / IP.
UDP menggunakan port
integer 16-bit tetapi juga
TCP menggunakan port dibagi menjadi tiga bagian,
yang mengadopsi bilangan yaitu port 1-1023 untuk port
Port bulat 16-bit (antara 0- terkenal, port 1024-49151
65535), yang harus unik atau untuk port terdaftar, dan
berbeda antar port. sisanya untuk port
ephemeral di nomor 49152-
65535.
UDP dapat mengirim data
dalam bentuk paket
TCP dapat menggunakan
datagram, tanpa nomor
jalur data dupleks penuh,
pengenal. Ini berarti bahwa
yang berarti bahwa antara
kemungkinan besar data
titik masuk dan keluar data
yang diperoleh tidak
Transmisi Data dipisahkan menjadi dua
berurutan, dan mungkin
baris. Sehingga proses
rusak atau bahkan hilang
pengiriman dan penerimaan
selama proses pengiriman
dapat dilakukan secara
dari host asli ke tujuan.
bersamaan.

Anda mungkin juga menyukai