Minggu, 07 Desember 2008

Three Way Handshake & Acknowledgment with windowing

3 way handshake

Langkah 1

TCP client memulai dengan mengirimkan sebuah segmen dengan bentuk control flag SYN (Synchronize Sequence Number), mengindikasikan sebuah nilai awal header dari sequence number. Nilai awal yang disebut ISN (Initial Sequence Number) ini secara acak dipilih dan digunakan untuk memulai memantau aliran data dari clien ke server pada sesi tersebut. Nilai ISN pada header dari tiap segmen akan dinaikkan satu setiap data yang dikirim dari client ke server ketika percakapan data.

Langkah 2

TCP server membutuhkan untuk mengetahui isi segmen SYN dari client untuk membangun sesi dari client ke server. Untuk mencapai hal itu, server mengirim sebuah segmen kembali ke client dengan bentuk ACK flag mengindikasikan bahwa nilai acknowledgment tersebut signifikan. Dengan diaturnya flag pada segmen, client mengetahui bahwa server menerima SYN dari TCP client.

Langkah 3

Akhirnya, TCP client merespon dengan sebuah segmen yang mengandung sebuah ACK yang merupakan respon atas TCP SYN dari server. Pada segmen ini tidak ada data dari user. Nilai pada acknowledgment number ini mengandung lebih besar satu dari initial sequence number yang diterima dari server. Ketika kedua sesi terbangun antara client dan server, semua pergantian segmen pada komunikasi ini akan memiliki ACK flag yang telah teratur.

Acknowledgment with windowing pada TCP

Header segmen sequence number dan acknowledgement number digunakan secara bersama untuk mengkonfirmasi byte yang terkandung dalam segmen. Sequence number mengindikasikan jumlah relative dari byte yang telah ditransmisi pada sesi ini termasuk byte yang terkandung dalam segmen. TCP menggunakan acknowledgement number di segments yang dikirm balik ke sumber untuk mengindikasikan byte berikutnya pada sesi ini yang penerima akan mendapatkannya. Ini disebut expectational acknowledgement.

Namun selama sesi tersebut dilakukan, ada pembatasan pengiriman jumlah byte dengan windowing (window size). Window size sendiri adalah banyaknya data yang dapat ditransmisikan oleh pengirim sebelum menerima sinyal acknowledgement.

Tidak ada komentar: