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,
singkatan dari
User Datagram Protocol, adalah salah satu protokol
lapisan transpor TCP/IP yang
mendukung komunikasi yang tidak andal (
unreliable), tanpa koneksi (
connectionless)
antarhost dalam jaringan yang menggunakan
TCP/IP.
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 (protocol data unit
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 (tidak lebih besar dari nilai Maximum Transfer Unit/MTU)
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. Berbagai contoh aplikasi yang menggunakan
protokol UDP, yaitu :
- 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. Konsep
client-server dalam jaringan
komputer
Sesuai dengan namanya, client-server berarti adanya pembagian kerja pengolahan data antara
client dan server. Saat ini, sebagian besar jaringan menggunakan model
client/server.
Secara singkat, jaringan client/server adalah
jaringan dimana komputer client bertugas melakukan permintaan data dan server
bertugas melayani permintaan tersebut.
Client
User akan membuat permintaan melalui software client. Aplikasi ini berfungsi :
• Memberikan interface bagi user untuk melakukan jobs.
• Format request data ke bentuk yang dapat dimengerti oleh server
• Menampilkan hasil yang diminta pada layar
Komputer client menerima instruksi dari user melalui interface yang disediakan, merubah format instruksi ke bentuk yang dapat dimengerti oleh database server, dan mengirimkannya melalui jaringan ke server yang dituju. Server kemudian akan mengolah request, memilih informasi yang sesuai, dan mengirimkan kembali data hasil pengolahan ke client. Client kemudian mengolah data yang diterima untuk ditampilkan sebagai informasi yang berguna melalui interface yang tersedia.
Server
Pada jaringan client/server, server khusus digunakan untuk pemrosesan, penyimpanan dan manajemen data. Server bertugas menerima request dari client, mengolahnya, dan mengirimkan kembali hasilnya ke client.
Untuk itu, server membutuhkan komputer khusus dengan spesifikasi hardware yang jauh lebih baik dan bertenaga dibandingkan hardware untuk client karena komputer harus mampu melayani :
• Request secara simultan dalam jumlah besar
• Aktivitas manajemen jaringan
• Menjamin keamanan pada resource jaringan
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. 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 (protocol data unit
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 (tidak lebih besar dari nilai Maximum Transfer Unit/MTU)
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.
7. Aplikasi - aplikasi yang menggunakan protokol TCP dan cara kerjanya :
Telnet/TeleNetwork adalah remote login yang dapat
terjadi di internet karena ada service dari protocol TELNET. Dengan Telnet
memungkinkan kita untuk mengakses komputer lain secara remote melalui internet.
Dalam bahasa yang mudah kita dapat memberikan
perintah kepada komputer lain baik membuat file, mengedit, menghapus dan
menjalankan suatu perintah hanya melalui komputer di depan meja kita. Telnet
banyak di pakai dalam mesin berbasis UNIX dan sangat jarang aplikasi telnet
pada mesin berbasis Windows NT/200.
Cara Kerja Telnet
Untuk dapat mengakses telnet, biasanya (dan
seharusnya) kita memiliki sebuah account atau login di komputer yang dituju. Dan login tersebut disertai password (kata kunci) sebagai verifikasi atau
sebagai legalisasi dari account yang kita masukkan, dan account tersebut diberikan oleh sang administrator atau lembaga yang memiliki server yang dapat
di-TELNET.
File Transfer
Protocol (FTP).
Cara Kerja FTP
- Port standard FTP adalah 21 (pada server).
- Pada sisi
server, ftp server menunggu incoming connection di port 21 (default).
- FTP client
mencoba connect ke ftp server (daemon) dengan memasukan user password nya (biasanya
FTP memang memiliki suatu autentikasi tersendiri.)
- FTP server
men-check apakah si user dan password nya valid, Jika valid maka akan berlanjut
ke step berikutnya, jika tidak valid maka akan diminta memasukan user/password
yang lain beberapa kali, jika tetap invalid maka koneksi akan diputuskan.
- Setelah user
tervalidasi maka ftp client dapat men-download/men-upload atau pun mendelete
file yang terdapat di server, tergantung dari hak akses yang dimiliki.
Sebelum membuat
koneksi, port TCP nomor 21 di sisi server akan “mendengarkan” percobaan koneksi
dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur
(control port) untuk
- membuat sebuah
koneksi antara klien dan server,
- untuk
mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga
- mengembalikan
respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka
server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru
dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat
melakukan pengunduhan dan penggugahan.
FTP hanya menggunakan metode autentikasi standar, yakni
menggunakan username dan password yang dikirim dalam bentuk tidak
terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya
untuk mengakses, men-download, dan
meng-upload berkas-berkas yang ia
kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap
beberapa direktori sehingga mereka dapat membuat berkas, direktori, dan bahkan
menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login, yakni dengan menggunakan nama pengguna anonymous dan password
yang diisi dengan menggunakan alamat e-mail.
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()