PADA sesi kali ini kita akan membahas tentang TCP dan UDP. Pada bagian ini, kita juga akan membahas tentang karakteristik masing-masing dari TCP dan UDP. Dengan mengenal TCP dan UDP, kita dapat tahu kapan kita akan menempatkan suatu protokol yang tepat dalam implementasi jaringan.
Kapan menggunakan TCP dan UDP ??
Pada DNS TCP dan UDP di port komputer 53 untuk melayani permintaan DNS. Hampir semua permintaan DNS berisi permintaan UDP tunggal dari klien yang diikuti oleh jawaban UDP tunggal dari server. Dan juga yang menjadi pertanyaan, pada saat kapan protocol TCP digunakan? Pada umumnya TCP dipergunakan hanya ketika ukuran data jawaban melebihi 512 byte, atau untuk pertukaran zona DNS zone transfer. DNS zone transfer adalah sebuah mekanisme untuk mereplikasi DNS data dari satu DNS ke DNS server lain. Zone transfer digunakan pada saat kita ingin mereplikasi DNS data pada DNS server kita dalam upaya menghemat waktu bandwidth, untuk meningkatkan kecepatan terhadap suatu permintaan atau untuk membuat DNS data selalu tersedia pada saat DNS server pada internet terputus.
TCP (Transmission Control Processor) Merupakan suatu protokol yang berada pada layer transport dalam model OSI/ Model DARPA. Yang berorientasi dapat diandalkan (reliable).
TCP / IP Memiliki Karakteristik Sebagai Berikut :
- Connection-Oriented (Berorientasi Sambungan) : Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu.
- Full Duplex maksudnya ialah untuk setiap host TCP, koneksi yang terjadi antar dua host secara bersamaan ialah jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang mendukung full-duplex, maka data pun dapat dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
- Realiable (dapat diandalkan) maksudnya Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket possitive acknowledgment (sebuah transmisi yang dikirimkan oleh pihak station penerima dalam jaringan kepada pihak pengirim bahwa data yang dikirimkan telah diterima dengan sempurna tanpa ada kesalahan) dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditranmisikan 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 mengimplentasikan penghitungan TCP Cheksum.
- Byte stream : TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontinyu). Nomor urut TCP dan nomor acknowledgment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannnya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam “bahasa” yang ia pahami.
- Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat “macet” jaringan internetwork IP (penghubungan dua buah segmen jaringan atau lebih dengan menggunakan sebuah router, sehingga terbuatlah satu buah jaringan yang lebih besar), TCP mengimplentasikan 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 yan tidak dapat disangga / buffer. TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
- Mengirimkan paket secara “one-to-one”. Hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.
- Kesimpulan Tentang Port TCP
Three-Way Handshake Dalam TCP
Proses pembuatan koneksi TCP disebut juga dengan “Three-way Handshake”. Tujuan metode ini adalah agar dapat melakukan sinkronisasi terhadap nomor urut dan nomor acknowledgment yang dikirimkan oleh kedua pihka dan saling bertukar ukuran TCP Window. Prosesnya dapat digambarkan sebagai berikut:
- Host pertama (yang akan membuat koneksi) akan mengirimkan sebuah segmen TCP dengan flag SYN diaktifkan kepada host kedua (yang akan diajak berkomunikasi).
- Host kedua akan meresponnya dengan mengirimkan segmen dengan acknowledgment dna juga SYN kepada host pertama.
- Host pertama kemudian akan mulai saling bertukar data dengan host kedua.
UDP (User Datagram Protocol) ialah protokol lapisan transport yang mendukung komunikasi tidak handal tanpa koneksi.
UDP Memiliki Karakteristik Sebagai Berikut :
- Connectionless (tanpa koneksi) : Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak bertukar 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-pesanyang 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 menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Process Identification dan Destination Process Identification.
- UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.
UDP tidak menyediakan layanan-layanan antar host berikut:
- UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP.
- 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 daya yang berukuran kecil (tidak lebih 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 dikirmkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.
- UDP tidak menyediakan mekanisme flow-control seperti yang dimiliki oleh TCP.
UDP sering digunakan dalam beberapa tugas berikut :
- Protokol yang “ringan” (lightweight) : Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi DNS.
- Protokol lapisan aplikasi yang mengimplementasikan layanan keandalan: Jika protokol lapisan aplikasi menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah TFTP (Trivial File Transfer Protocol) dan NFS (Network File System).
- Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
- Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.
UDP melakukan transmisi data dalam bentuk datagram. UDP tidak meminta penerima (mitra) untuk memberikan ACKnowledge. Karena transmisi UDP bersifat satu arah tanpa adanya “Handshake” antara si pengirim dan si penerima. Sehingga model protocol ini disebut juga sebagai connectionless oriented.
Tidak ada komentar:
Posting Komentar