Transfer Data

Setelah koneksi terjalin maka data dapat segera ditransfer. Protokol TCP “memerintahkan” layer Application untuk melakukan transfer data. Protokol TCP menangani transfer data sebagai berikut:

  1. TCP memecah data dari berbagai aplikasi, seperti HTTP, SMTP, POP3, menjadi segmen-segmen. Segmen-segmen ini kemudian ditransfer ke protokol-protokol pada layer Network, Data Link dan Physical.
  2. TCP mengirim segmen ke remote host.
  3. TCP pada remote host menyusun ulang segmen-segment

Setiap data yang dikirim oleh komputer pengirim akan diverifikasi keutuhannya oleh komputer penerima. Jika ada data yang error atau tidak sampai/hilang, maka komputer pengirim akan mengirim ulang data yang bermasalah tersebut. Lalu bagaimana cara mengetahui adanya data yang rusak atau tidak sampai?

Mekanisme pendeteksian kerusakan atau kehilangan paket data mirip dengan yang digunakan saat memulai koneksi. Yaitu dengan memanfaatkan ACK (acknowledge). Setiap segmen yang dikirim akan di-ACK oleh komputer penerima dengan cara mengirim segmen ACK kepada komputer pengirim.

Media yang dilalui data tidak selalu dalam kondisi prima. Ada kalanya rusak atau data yang diangkut sangat banyak sehingga terjadi “tumpang tindih” data. Teknologi yang digunakan oleh komputer pengirim dan penerimapun belum tentu sama. Sebagai contoh, komputer pengirim menggunakan Fast Ethernet yang mampu mentransfer data sebesar 100 Mbps. Sedangkan komputer penerima menggunakan teknologi Ethernet biasa (10 Mbps). Apa jadinya jika data dengan kecepatan 100 Mbps dipaksakan masuk ke “jalan” yang hanya mampu menangani kecepatan 10 Mbps?

Data-data yang dikirim akan rusak karena komputer penerima tidak mampu menangani data sebesar itu dalam waktu singkat. Ibaratnya menuangkan air satu ember ke sebuah gelas. Air pada gelas akan luber dan terbuang percuma. Lalu bagaimana cara mengatasinya ?

Ada dua mekanisme yang digunakan untuk mengatasi hal tersebut yaitu :

  • Flow control
  • Sliding Window

Flow Control

Flow control berkaitan dengan pengaturan kecepatan transfer data. Komputer pengirim akan menunggu segmen ACK dari komputer penerima sebagai tanda bahwa segmen yang dikirim telh tiba dengan selamat. Kondisi ini secara tidak langsung akan menjadi kendali kecepatan transfer data. Karena komputer pengirim hanya akan mengirim segmen yang lain manakala sudah yakin segmen sebelumnya tiba dengan selamat.

Sliding Window

Sekumpulan segmen akan dikelompokkan menjadi satu kesatua

n dan menunggu giliran kapan akan dikirim. Setiap kelompok dapat dipandang sebagai sebuah window. Segmen akan dikirim perkelompok (per-window). Setelah diterima, segmen ACK balasanpun akan dikirim perkelompok, Kemudian window akan bergerser ke segmen yang belum dikirim. Dan begitu seterusnya

Ilustrasi Sliding Window
Ilustrasi Sliding Window
Beberapa sumber seringkali menggantikan kata “segmen” dengan “paket data atau paket”. Secara prinsip kedua kata tersebut dapat digunakan untuk menjelaskan proses koneksi yang melibatkan protokol TCP. Hanya saja kata “segmen” mengacu pada layer transport, sedangkan kata “paket data” mengacu pada layer Network.