Saat menggunakan TCP, perangkat harus terlebih dahulu membuat koneksi dengan sistem peer sebelum transmisi data dapat terjadi
sehingga sesi
berorientasi koneksi akan dibuat antara host A dan host B
Satu mesin akan memulai koneksi yang kemudian harus diterima oleh mesin lain.
Protokol modul perangkat lunak dalam sistem operasi perangkat host berkomunikasi satu sama
lain dengan mengirim pesan di seluruh jaringan untuk memverifikasi bahwa transfer
tersebut sah dan bahwa kedua belah
pihak siap untuk transmisi data.
Agar hal ini dapat terjadi, jabat tangan tiga arah terjadi antara perangkat host menggunakan TCP.
Jadi host yang memulai sesi akan mengatur flag SYN atau bit SYN di header
TCP dari segmen awal yang dikirim ke host B.
Host A juga akan memilih nomor urut awal yang dalam
contoh ini katakanlah 100.
Jadi bendera kontrol SYN diaktifkan dan nomor
urut diatur ke nilai awal 100.
Ini kemudian digunakan untuk memulai proses jabat tangan.
Segmen sinkronisasi ini juga menentukan jumlah port yang ingin disambungkan
pengirim misalnya port 80 atau HTTP.
Tuan rumah di sisi kanan akan menunggu permintaan koneksi dari klien jarak jauh, dalam
hal ini tuan rumah A.
ketika SYN diterima dan host
yang diterima b akan mengirim kembali segmen TCP dengan flag SYN dan ACK ditetapkan.
Jadi bendera kontrol SYN dan ACK diaktifkan dan
digunakan untuk menegosiasikan koneksi dan mengakui penerimaan
segmen sinkronisasi inisial pengirim.
B juga menetapkan nomor urut awal untuk menunjukkan nomor
urut berikutnya dari byte berikutnya dari data yang diharapkan
akan diterima dari host A.
host B juga menetapkan flag pengakuan ke, dalam
hal ini 101 flag ACK mengindikasikan, bagian data berikutnya, host mengharapkan untuk menerima.
Jadi host A awalnya mengirim nomor urut 100 dan
host B, dalam hal ini mengasumsikan ukuran jendela 1 mengirimkan kembali
pengakuan 101.
Langkah ketiga dalam jabat tangan tiga arah adalah ketika host yang memulai
dalam hal ini host A telah menerima SYN dari host B dan mengirimkan kembali segmen TCP dengan bidang kontrol diatur
ke ACK, dengan kata lain pengakuan. 36 Host A karena itu mengakui segmen berikutnya yang diharapkan
untuk menerima dari host B dalam kasus ini 301, awalnya host B mengirim nomor urut 300
Jadi tuan rumah A mengharapkan segmen berikutnya 301.
Host A menetapkan nomor urutnya menjadi 101.
Segmen awal yang dikirim adalah 100 dan yang berikutnya dalam kasus ini adalah 101 karena bit SYN atau
flag SYN tidak disetel ini
mengonfirmasi bahwa jabat tangan tiga arah telah selesai dengan sukses.
Hanya untuk mengulangi, bit kontrol atau flag pada awalnya mengirim segmen
dengan bit SYN atau flag SYN diaktifkan.
Jadi bendera kontrol SYN diatur ke 1. 46 Host B pada langkah kedua dari jabat
tangan tiga arah mengatur flag atau bit kontrolnya ke SYN ACK.
Dengan kata lain bit SYN diatur ke
1 dan bit ACK diatur ke 1.
Pada langkah terakhir Host jabat
tangan tiga arah A mengatur bit ACK ke 1 atau flag ACK diaktifkan.
Bit SYN atau bendera SYN diatur ke 0 untuk menunjukkan bahwa jabat
tangan tiga arah telah selesai dengan sukses.
Sekarang nomor urut dan ucapan terima kasih dapat menyebabkan banyak kebingungan. Jadi saya akan menjelaskannya
lebih terinci sekarang.
Kami mengasumsikan dalam contoh ini, bahwa ukuran jendela 1 digunakan.
Sekarang jika Anda ingat ukuran jendela adalah jumlah maksimum data
yang dapat diterima penerima dari pengirim dan proses dengan benar. 59 Jadi kita akan mengasumsikan bahwa hanya
1 segmen yang dapat ditransmisikan pada waktu tertentu sebelum pemberitahuan
diterima untuk mengakui penerimaan segmen itu.
Jadi mari kita asumsikan A dimulai dengan nomor urut
awal 5 karena ukuran jendela 1, hanya 1 segmen yang dapat dikirim dari A ke B.
B berhasil menerima segmen dari A dan
mengakui segmen berikutnya yang ingin diterimanya.
jadi daripada mengakui penerimaan nomor urut 5, ia
mengakui untuk nomor urut
6 yang menyiratkan bahwa semua nomor urut sebelumnya akan menerima dengan benar.
Jadi B mengakui dalam hal ini untuk nomor urut 6 tetapi B
dapat mulai dengan nomor urut awal 10. 71 jadi pada tajuk TCP B memberitahu A
bahwa nomor urut awal adalah 10 dan yang berhasil menerima urutan nomor 5 dari
A dan mengharapkan urutan nomor 6 dari A dalam paket berikutnya.
Mari kita asumsikan berhasil menerima segmen itu sehingga
A sekarang akan mengirim segmen 6 ke B dengan kata
lain nomor urut berikutnya.
A juga mengakui penerimaan segmen 10 dari host B.
Jadi A telah berhasil menerima segmen dengan nomor urut 10.
Harap dicatat sekali
lagi bahwa tuan rumah dapat secara
acak memilih nomor urut awal dan
dengan demikian dalam jabat tangan tiga arah awal bahwa informasi
perlu dikomunikasikan antara 2 host sehingga mereka tahu apa nomor urut awal. 84 Jadi sekali lagi A mengirimkan nomor urut 6 ke B dan mengakui urutan 11.
Mari kita asumsikan B berhasil menerima
segmen itu dan karenanya akan mengakui untuk segmen 7.
Segmen berikutnya yang diharapkan
untuk menerima sekali lagi 7 dalam pengakuan menunjukkan bahwa segmen sebelumnya berhasil diterima.
Jadi host B dengan mengatur nomor urut ke 7 memberitahu host A
bahwa urutan nomor 6 berhasil diterima.
Host B mengirimkan nomor urut 11 karena itu
adalah nomor urut berikutnya yang diharapkan diterima A
Hal yang perlu diperhatikan sekali lagi, adalah bahwa nomor
urut awal yang tuan rumah harapkan akan terima dan
urutan nomor misalnya 11 menyiratkan bahwa nomor urut 10 dan nomor urut sebelumnya berhasil diterima.
Sekarang kontrol aliran sekali lagi mencegah masalah di mana pengirim mengirim begitu banyak
data 99 bahwa buffer penerima meluap.
Jika ini adalah mesin yang sangat kuat dan ini adalah mesin yang lebih tua itu tidak sekuat itu, mungkin saja A bisa dikuasai buffer B karena mengirimkan begitu banyak data. 103 Jadi B membutuhkan mekanisme untuk memberitahu A agar melambat sehingga D dapat
berhasil memproses lalu lintas yang diterima. 105 Jadi sebagai contoh mari kita asumsikan bahwa ukuran jendela dalam contoh ini
adalah 3 daripada 1. 107 Jadi A dapat mengirim 3 segmen data sebelum mendapatkan pengakuan. 108 Keuntungan dari meningkatkan ukuran jendela adalah throughput itu dapat meningkat secara dramatis karena tuan rumah dapat mengirim lebih banyak data dengan lebih sedikit ucapan terima kasih dan karenanya pengatur waktu pulang pergi berkurang secara dramatis. 111 Jadi, dalam contoh ini A mengirimkan 3 segmen ke B. 112 Mari kita asumsikan
bahwa buffer B yang diterima penuh dan tidak dapat menangani jumlah data itu 114 B akan mengirim indikator yang tidak siap ke A 115 dan ini dilakukan dengan mengatur ukuran windows ke 0.
Ini memberi tahu pengirim untuk berhenti mengirim data dan tunggu indikator siap dari penerima. 118 Dengan asumsi bahwa host B sekarang dapat memproses data di dalamnya menerima buffer dan sekarang dapat menerima lebih banyak data. 120 Ini dapat mengirim indikator siap ke A, untuk memberitahukannya untuk melanjutkan pengiriman datagram.
jadi A melanjutkan transmisi dengan mengirimkan misalnya 3 segmen ke B. 122 Karena ukuran jendela adalah 3. 123 Jadi harap dicatat di latar belakang host TCP yang terlibat dalam percakapan dapat
menegosiasikan berbagai parameter dan salah satunya adalah kontrol aliran 125 di mana penerima, dapat memberitahu pengirim untuk memperlambat atau berhenti mengirim data 126 sampai penerima memiliki ruang buffer yang tersedia untuk menerima segmen yang ditransmisikan.
Ini memungkinkan untuk komunikasi antara yang sangat kuat atau mesin cepat dan mesin lebih lambat atau kurang kuat di mana mereka dapat menegosiasikan tingkat penularan.