TCP dan UDP
Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) merupakan dua protokol terpenting dalam layer transport. Keduanya digunakan oleh berbagai aplikasi TCP/IP. Pada postingan kali ini kita akan melihat lebih jauh tentang kedua protokol tersebut.
Protokol TCP bertanggung jawab untuk pengiriman data dari sumber ke tujuan dengan benar. TCP dapat mendeteksi kesalahan atau hilangnya data dan melakukan pengiriman kembali sampai data diterima dengan lengkap. TCP selalu meminta konfirmasi setiap kali data dikirim, untuk memastikan apakah data telah sampai di tempat tujuan. Kemudian TCP akan mengirimkan data berikutnya atau melakukan retransmisi (pengiriman ulang) apabila data sebelumnya tidak sampai atau rusak. Data yang dikirim dan diterima kemudian diatur berdasarkan nomor urut.
Untuk memenuhi tujuan tersebut (squencing, error checksum, dan retransmission) pada header protokol TCP berikut ini. Segmen TCP terdiri atas header dan data. Kita bisa melihat ada filed khusus untuk Squence, Checksum, Acknowledgement.
Keterangan:
Setelah koneksi terbuka, host A mengirim paket data yang sudah diberi nomor. Setiap kali sebuah paket tiba di host B, maka host B akan mengeceknya dan mengirim ACK yang menandakan paket telah diterima dengan selamat. Proses ini berlangsung berulang-ulang hingga paket dikirim semuanya dengan selamat.
Setelah paket terakhir diterima, host A mengirim ACK dan FIN yang meminta host B untuk memutuskan koneksi. Host B akan meng-ACK dan mengirim paket FIN kepada host A. Selanjutnya host A meng-ACK pake FIN yang berasal dari host B, maka koneksipun di putuskan.
Protokol TCP sangat cocok digunakan untuk koneksi yang membutuhkan kehandalan tinggi, seperti aplikasi telnet, SSH, FTP, HTTP dan beberapa layanan lainnya.
UDP hanya menyediakan fasilitas multiflexing aplikasi (via nomor port) dan integritas verifikasi/deteksi kesalahan (via checksum) yang disediakan pada header dan payload. Deteksi kesalahan dalam UDP hanya bersifat opsional. Untuk menghasilkan transmisi data yang reliable, haruslah dibantu dan dilakukan di tingkat aplikasi. Tidak bisa dikerjakan di tingkat protokol UDP. Pengiriman paket dilakukan berdasarkan "best effort basis".
Keterangan:
TCP
Protokol TCP memiliki karakteristik sebagai berikut:- Connection Oriented
- Reliable
- Byte stream service
Protokol TCP bertanggung jawab untuk pengiriman data dari sumber ke tujuan dengan benar. TCP dapat mendeteksi kesalahan atau hilangnya data dan melakukan pengiriman kembali sampai data diterima dengan lengkap. TCP selalu meminta konfirmasi setiap kali data dikirim, untuk memastikan apakah data telah sampai di tempat tujuan. Kemudian TCP akan mengirimkan data berikutnya atau melakukan retransmisi (pengiriman ulang) apabila data sebelumnya tidak sampai atau rusak. Data yang dikirim dan diterima kemudian diatur berdasarkan nomor urut.
Untuk memenuhi tujuan tersebut (squencing, error checksum, dan retransmission) pada header protokol TCP berikut ini. Segmen TCP terdiri atas header dan data. Kita bisa melihat ada filed khusus untuk Squence, Checksum, Acknowledgement.
Keterangan:
- Source port (16 bits), berisi informasi port pengirim
- Destination port (16 bits), berisi informasi port penerima
- Squence number, (32 bits), berupa squence number yang terdiri atas dua kondisi berikut. Jika flag SYN di-set (yang ada di bagian field flags), maka field ini berisi awal (inisial) dari squence number. Jika flag SYN tidak di-set, maka nilai pada field ini merupakan squence number.
- Acknowledgement atau ACK (32 bits), jika flag ACK di-set, maka nilai pada field ini adalah nilai squence number berikutnya yang di-harapkan oleh penerima
- Data offset (4 bits), menunjukkan ukuran TCP heaer, Total header sepanjang 32-bit words. Ukuran minimunm header adalah 5 words. Data offset juga merupakan awal dari data.
- Reserved (4 bit) untuk keperluan tertentu di masa yang akan datang. Nilai pada field ini semestinya adalah zero (nol)
- Flag (8 bits), field untuk kontrol bit (masing-masing 1 bit), yaitu: CWR (Congestion window reduce), ECE (ECE-Echo), URG (URGent), ACK (ACKnowledgment), PSH (Push Function), RST (Reset), SYN (Synchronize) FIN (Finish)
- Window (16 bit),menunjukkan ukuran window pertama (receive window). Agar data dapat diterima dengan baik maka diperlukan pengaturan ukuran jumlah byte optimal yang ditentukan oleh field ini
- Checksum (16 bits), digunakan untuk error-checking dari header dan data
- Urgent pointer (16 bits), digunakan untuk squence number yang menandakan urgent data byte terakhir
- Options (variable bits) berisi berbagai opsi berupa angka sebagai berikut: 0-end of options list, 1-No operation (NOP, Padding), 2-Maximum segment size, 3-Window scale, 4-Selective Acknowledgement, 5,6,7, 8-Timestamp
- Data berisi data yang dikirim.
Setelah koneksi terbuka, host A mengirim paket data yang sudah diberi nomor. Setiap kali sebuah paket tiba di host B, maka host B akan mengeceknya dan mengirim ACK yang menandakan paket telah diterima dengan selamat. Proses ini berlangsung berulang-ulang hingga paket dikirim semuanya dengan selamat.
Setelah paket terakhir diterima, host A mengirim ACK dan FIN yang meminta host B untuk memutuskan koneksi. Host B akan meng-ACK dan mengirim paket FIN kepada host A. Selanjutnya host A meng-ACK pake FIN yang berasal dari host B, maka koneksipun di putuskan.
Protokol TCP sangat cocok digunakan untuk koneksi yang membutuhkan kehandalan tinggi, seperti aplikasi telnet, SSH, FTP, HTTP dan beberapa layanan lainnya.
UDP
UDP merupakan protkokol yang bersifat connectionless oriented. Artinya saat melakukan pengiriman data tidak dilakukan proses handshaking, tidak ada squencing datagram, dan tidak ada garansi bahwa [aket data (datagram) yang dikirim akan tiba dengan selamat. UDP juga tidak menyediakan fitur-fitur koreksi kesalahan.UDP hanya menyediakan fasilitas multiflexing aplikasi (via nomor port) dan integritas verifikasi/deteksi kesalahan (via checksum) yang disediakan pada header dan payload. Deteksi kesalahan dalam UDP hanya bersifat opsional. Untuk menghasilkan transmisi data yang reliable, haruslah dibantu dan dilakukan di tingkat aplikasi. Tidak bisa dikerjakan di tingkat protokol UDP. Pengiriman paket dilakukan berdasarkan "best effort basis".
Keterangan:
- Source port (16 bits), berisi informasi port pengiriman
- Destination port 916 bits), berisi informasi port penerima
- Length 916 bits), menunjukan panjang total (dalam byte) seluruh datagram (header+data). Panjang minimum adalah 8 byte, sedangkan panjang maksimum 65,507 byte
- Checksum, digunakn untuk error-checking header dan data
- Data, berisi data
0 Response to "TCP dan UDP"
Post a Comment