30 satu arah tetapi pada arah lain tidak. Host B dapat
mengirim data ke A. Ketika B selesai mengirimkan datanya, B
mengirim sebuah
FIN segmen
untuk menandakan bahwa host ingin memutuskan
koneksi. A menjawab permintaan B dengan mengirim
sebuah ACK segmen.
Gambar 2.9 TCP ConnectionTermination
2.4.2 TCP Flow control
Field window size pada TCP header berfungsi untuk mekanisme Flow control koneksi. Tujuan dari field window size
tersebut adalah memastikan komputer pengirim tidak mengirim data
31 terlalu banyak dan terlalu cepat yang bisa menyebabkan hilangnya
data pada komputer penerima karena tidak terproses. Metode Flow control yang digunakan TCP ini ada dua biasa disebut stop and wait
dan sliding window. Stop and Wait Flow Control
Proses kerja atau prinsip kerja dari stop and wait adalah sebagai berikut: Transmitter mengirimkan deretan data dalam
bentuk frame ke reciver. Setelah receiver telah menerima frame yang dikirmkan tadi, maka receiver akan mengirimkan balasan ke
transmitter bahwa frame sudah diterima di receiver dan receiver siap menerima deretan frame selanjutnya.
Transmitter tidak akan mengirimkan deretan frame berikutnya jika receiver belum memberikan balasan ACK.
Receiver dapat menghentikan pengiriman frame dengan cara tidak memberikan balasan, maka transmitter juga tidak akan
mengirimkan deretan frame lagi pada receiver.
Sliding Window Flow Control Sliding window adalah sebuah mekanisme pengiriman paket-
paket data dalam suatu ukuran window secara terus-menerus dimana
32 transmitter dapat mengirimkan blok-blok frame lebih banyak lalu
setelah beberapa frame telah terkirim, barulah receiver memberikan balasan, tidak seperti stop and wait blok-blok data dikirimkan satu
persatu dan mengirimkannya menunggu balasan jika blok data tersebut sudah sampai di receiver dan receiver sudah memberikan
balasan. Konsep umumnya window ini akan bergeser secara otomatis sesuai dengan ack yang diterimanya. Pada sliding window
terdapat dua algoritma, yakni go back n dan selective repeat. Perbedaan mendasar dari algoritma ini adalah pada pengiriman
paket yang loss.
Gambar 2.10 Ilustrasi Go Back N
33 Gambar 2.11 Ilustrasi Selective Repeat
2.4.3 Round Trip Time dan Timeout
Round Trip Time adalah waktu yang dibutuhkan oleh client untuk mengirimkan request dan sebuah server untuk mengirimkan
balasan respon melalui jaringan. Segmen pada TCP yang dikirim dapat hilang di sepanjang jalur komunikasi hal tersebut dikarenakan
terjadinya congestion. TCP harus dapat memperbaiki situasi ini dan mempelajari kondisi jaringan. Setiap TCP mengirimkan segmen,
pengirim akan menghitung waktu untuk mengetahui berapa lama waktu yang dibutuhkan untuk mendapatkan ack dari segmen yang
dikirim tadi. Waktu ini dikenal dengan retransmissions timer. Jika acknowledgement diterima melebihi waktu yang ditentukan maka
akan terjadi timeout.
Waktu round trip time bergantung pada lalu lintas di jaringan dan ketersediaan jalur. Perhitungan RTT :
34
RTT
i
= α RTT
i-1
+ 1 – α rtt
i Keterangan :
RTT
i
adalah waktu estimasi rata – rata round trip time setelah
paket ke-i.
Nilai α = 0.875 menurut algoritma Jacobson.
rtt
i
adalah waktu saat paket ke-i mulai dikirim hingga acknowledgement paket ke-i diterima.
Ketika sebuah RTT baru selesai di kalkulasi maka akan dimasukan perhitungan diatas untuk mendapatkan rata-rata RTT pada koneksi
tersebut dan prosedur itu akan terus dilakukan tiap kali ada kalkulasi RTT baru. Pengkalkulasian ini digunakan untuk menetapkan waktu
timeout atas paket yang dikirimkan. Perhitungan timeout :
RTO
i
= RTT
i-1
+ 4 MDEV
i-1 Keterangan :
MDEVi-1 adalah rata – rata deviasi yang dihitung dengan rumus : MDEVi = 1- ρ MDEVi-1 + ρ | rtti – RTTi-1 | dimana nilai
ρ = 0.25
RTT
i
adalah waktu estimasi rata – rata round trip time setelah
paket ke-i.
2.4.4 Additive-Increase, Multiplicative-Decrease