Mengenal Apa Itu TCP dan UDP
Salah satu cara kerja TCP dan UDP adalah dengan membagi data Anda menjadi unit-unit kecil yang kemudian disebut paket data. Paket data berisi IP pengirim dan penerima, berbagai konfigurasi, isi data yang Anda kirim, dan cuplikan data yang menunjukkan akhir dari paket. Perbedaan jelas antara UDP dan TCP terdapat pada cara pemindahannya.
Kapan menggunakan TCP atau UDP dalam penerapannya?
Penerapan TCP:
- Penjelajahan Web: TCP digunakan untuk memuat halaman web, karena memastikan pengiriman paket data yang andal, menjaga integritas konten web.
 - Transfer File: Saat mentransfer file besar melalui jaringan, TCP menjamin bahwa semua paket data diterima dengan benar, sehingga ideal untuk protokol transfer file seperti FTP (File Transfer Protocol) dan SFTP (Secure File Transfer Protocol).
 - Komunikasi Email: TCP memastikan bahwa pesan email dikirimkan dengan andal, mencegah kehilangan atau kerusakan data selama transmisi.
 - Komunikasi Basis Data: TCP biasanya digunakan untuk komunikasi antara aplikasi klien dan server basis data, karena memastikan transfer kueri dan respons basis data yang andal.
 
Penerapan UDP:
- Komunikasi Real-time: UDP sering digunakan untuk aplikasi real-time dengan kecepatan kritis dan latensi rendah, seperti layanan streaming suara dan video seperti VoIP (Voice over IP) dan aplikasi konferensi video.
 - Game Online: UDP lebih disukai untuk game online, karena memprioritaskan transmisi data yang lebih cepat dan pembaruan waktu nyata, sehingga memungkinkan gameplay yang lancar.
 - Pencarian DNS: UDP digunakan untuk pencarian DNS (Sistem Nama Domain), di mana waktu respons yang cepat sangat penting untuk menyelesaikan nama domain ke alamat IP.
 - Aplikasi IoT (Internet of Things): UDP cocok untuk perangkat IoT tertentu yang memerlukan transmisi data cepat dengan overhead rendah, seperti sensor atau sistem pemantauan waktu nyata.
 
TCP
Komunikasi process-to-process
pengiriman frame antara dua node yang bertetangga melalui sebuah link. Ini disebut pengiriman node-to-node. Lapisan jaringan bertanggung jawab atas pengiriman datagram antara dua host. Ini disebut pengiriman host-to-host. Komunikasi di Internet tidak didefinisikan sebagai pertukaran data antara dua node atau antara dua host. Komunikasi nyata terjadi antara dua proses. Sehingga diperlukan penyampaian process-to-process.
Nomor Port
Sistem operasi yang digunakan saat ini sudah mendukung lingkungan multiuser dan multiprogramming. Tentu saja, ini dapat menjalankan banyak proses dalam satu host, baik server maupun client. Sebelum melanjutkan, penting untuk menentukan poin-poin komunikasi ini:
- Local host
 - Local process
 - Remote host
 - Remote process
 
- Well-known ports : nomor port ini bermula dari 0 sampai 1.023.
 - Registered ports : nomor ini ini bermula dari 1.024 samapai 49.151.
 - Dynamic ports : nomor port dimulai dari 49.152 sampai 65.535
 
- Stream Data Service
 
- Layanan Full-Duplex
 
- Layanan Reliabel
 
Segmen
Dalam TCP, terdapat beberapa flag yang digunakan dalam header segmen TCP untuk mengontrol proses koneksi. Berikut adalah penjelasan singkat tentang setiap flag:
1. URG (Urgent): Mengindikasikan bahwa data yang terkandung dalam segmen memiliki prioritas tinggi dan perlu diproses dengan cepat oleh penerima.
2. ACK (Acknowledgement): Mengindikasikan bahwa nilai acknowledgement dalam segmen adalah valid dan mengonfirmasi penerimaan data sebelumnya.
3. PSH (Push): Menunjukkan bahwa pengirim meminta agar data segera "dipaksa" (pushed) ke lapisan aplikasi penerima tanpa menunggu buffer penuh.
4. RST (Reset): Digunakan untuk mereset koneksi TCP. Ini biasanya dikirim ketika terjadi kesalahan fatal atau ketika koneksi perlu dihentikan secara paksa.
5. SYN (Synchronize): Digunakan selama proses pembentukan koneksi untuk menyinkronkan nomor urut antara pengirim dan penerima.
6. FIN (Finish): Digunakan untuk menandai akhir dari pengiriman data dalam koneksi TCP. Ini menunjukkan bahwa pengirim telah selesai mengirim data dan ingin menutup koneksi.
Option
Opsi TCP adalah bagian keenam dari Analisis Header TCP . Terletak di akhir header dan tepat sebelum bagian Data, ini memungkinkan kita memanfaatkan penyempurnaan baru yang direkomendasikan oleh para insinyur yang membantu merancang protokol yang kita gunakan dalam komunikasi data saat ini.
- Maximum Segment Size (MSS): Menentukan ukuran maksimum segmen data yang dapat dikirim.
 Window Scaling: Memperbesar ukuran jendela TCP untuk meningkatkan throughput.
SACK (Selective Acknowledgements): Memungkinkan penerima memberikan informasi tentang segmen mana yang telah diterima dengan benar, mengurangi overhead dalam pengiriman ulang.
Timestamps: Menempatkan waktu di dalam header TCP untuk mengatur waktu RTT dan menghindari pengurutan ulang paket yang salah.
- NOP (No Operation): opsi TCP yang digunakan untuk memberikan padding dalam header TCP.
 
Timer TCP
Timer dalam TCP digunakan untuk mengatur pengiriman dan penerimaan paket secara tepat waktu. Berikut adalah timer yang umum dalam TCP:
- Retransmission Timer: Mengatur waktu tunggu untuk pengiriman ulang segmen yang tidak terkonfirmasi.
 - Persistence Timer: Mengatur waktu tunggu untuk mengaktifkan koneksi yang terhenti.
 - Keepalive Timer: Mengatur waktu interval untuk mengirim segmen keepalive dan memeriksa keaktifan koneksi.
 - Time-wait Timer: Menentukan waktu tunggu sebelum host membebaskan sumber daya setelah menutup koneksi.
 
Operasi Dalam TCP
- 1. Enkapsulasi dan Dekapsulasi: TCP menambahkan informasi (header) ke data sebelum dikirim (enkapsulasi) dan menghapusnya saat data diterima (dekapsulasi).
 - 2. Queuing: TCP mengatur data yang akan dikirim dalam antrian tunggu jika sumber daya tidak tersedia saat ini.
 
UDP
Fungsi UDP
- Streaming Media: UDP sering digunakan dalam aplikasi streaming media seperti video dan audio secara real-time. Dalam kasus ini, kecepatan pengiriman data lebih penting daripada keandalan, sehingga UDP lebih cocok karena tidak ada overhead yang terkait dengan pengiriman ulang atau pemulihan kesalahan.
 - Game Online: Banyak game online menggunakan UDP untuk mentransmisikan data antara server dan klien. Hal ini karena UDP menawarkan latensi yang lebih rendah daripada TCP, yang penting dalam permainan yang membutuhkan respons cepat dari server.
 - DNS (Domain Name System): Protokol UDP sering digunakan untuk permintaan DNS yang cepat. Permintaan DNS sering kali sederhana dan kehilangan beberapa paket tidak kritis karena aplikasi DNS umumnya akan melakukan permintaan ulang jika tidak ada respons.
 - VoIP (Voice over IP): Aplikasi VoIP seperti panggilan suara melalui internet menggunakan UDP karena kecepatan pengiriman data yang penting untuk mempertahankan kualitas panggilan real-time.
 - Sensor dan IoT (Internet of Things): Dalam beberapa kasus, UDP digunakan dalam aplikasi sensor dan IoT di mana data yang dikirim adalah sensor reading yang dapat diabaikan jika beberapa paket hilang.
 - Broadcast dan Multicast: UDP digunakan untuk mentransmisikan data dalam mode broadcast atau multicast, di mana paket data dikirim ke beberapa tujuan secara bersamaan.
 - Aplikasi yang Membutuhkan Kecepatan Tinggi: UDP sering digunakan dalam aplikasi yang memerlukan kecepatan tinggi dan overhead komunikasi yang rendah, seperti transfer file besar, video game online, dan komunikasi antara perangkat dalam jaringan lokal.
 
    Well Known Port UDP
Desain UDP
Kelebihan dan Kelemahan UDP
Kelebihan:
- Hanya membutuhkan resource kecil.
 - Bisa digunakan untuk mengirim pesan secara broadcast.
 - Tidak membutuhkan negosiasi di awal sehingga pembuatan koneksi lebih cepat.
 
Kelemahan:
- Tidak bisa melakukan buffering.
 - Tidak mendukung mekanisme flow control.
 - Tidak bisa mengirim data yang ukurannya terlalu besar.
 



Komentar
Posting Komentar