Interval Timeout Dua Kali Lipat Retransmisi yang Cepat Fast Retransmit

Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009 mengetahui bahwa host B telah menerima segala sesuatunya melalui byte 119, jadi host A tidak mengirimkan kembali salah satu dari dua segmen tersebut. Skenario ini diilustrasikan pada Gambar 3.6. Gambar 3.6 Cumulative Acknowledgement Membatalkan Retransmisi Segmen Pertama

3.3.2 Interval Timeout Dua Kali Lipat

Sekarang dibahas beberapa modifikasi implementasi TCP. Pertama adalah panjang interval timeout setelah timer berakhir. Dalam modifikasi ini, bila timeout terjadi TCP meretransmisi segmen yang belum dikonfirmasi dengan nomor urut yang paling kecil. Tetapi masing-masing retransmisi TCP, menset interval timeout berikutnya ke nilai sebelumnya dua kali, daripada menurunkannya dari EstimatedRTT dan DevRTT yang terakhir. Misalnya, dinyatakan TimeoutInterval yang berkaitan dengan segmen yang belum dikonfirmasi adalah 0,75 detik ketika timer berakhir untuk pertama kali, TCP akan mentransmisikan segmen ini dan juga menetapkan waktu berakhir yang baru ke 1,5 detik. Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009 Jika timer ini berakhir 1,5 detik kemudian, TCP akan meretransmisikan segmen ini, sekarang tetapkan waktu berakhirnya ke 3,0 detik. Sehingga interval akan tumbuh secara eksponensial setelah pengiriman ulang. Ketika timer itu dimulai setelah salah satu dari dua kejadian lain, maka TimeoutInterval diturunkan melalui nilai yang paling baru dari EstimatedRTT dan DevRTT. Modifikasi ini memberikan batasan dari kontrol kongesti. Berakhirnya timer disebabkan oleh kemacetan dalam jaringan dan juga beberapa paket yang tiba pada satu antrian diantara sumber dan tujuan, menyebakan paket dibatalkan dan juga adanya delay yang panjang dalam antrian. Disamping itu, TCP bertindak lebih baik dengan masing- masing pengirim melakukan retransmisi dalam interval yang lebih lama.

3.3.3 Retransmisi yang Cepat Fast Retransmit

Salah satu permasalahan yang berkaitan dengan retransmisi yang dipicu timeout adalah periode timeout yang lebih lama. Ketika segmen itu hilang, maka periode timeout yang panjang ini memaksa pengirim memperlambat pengiriman paket yang hilang sehingga meningkatkan delay end to end. Demikian juga pengirim seringkali mendeteksi kehilangan paket sebelum kejadian timeout terjadi dan ini disebut duplikasi ACK. Duplikasi ACK adalah ACK yang mengkonfirmasi ulang segmen dimana pengirim baru saja menerima sebuah konfirmasi. Untuk memahami respon pengirim untuk duplikat ACK, harus dilihat mengapa penerima mengirimkan duplikat ACK untuk pertama kali. Ketika penerima TCP ini menerima segmen dengan sebuah nomor urutan yang lebih besar daripada berikutnya, penerima mendeteksi sebuah kekosongan dalam aliran data, itu merupakan segmen yang hilang. Sejak TCP tidak menggunakan konfirmasi negatif, Frans A. Siagian : Perancangan Komunikasi Client Server Dan Sistem Database, 2008 USU Repository © 2009 maka penerima tidak dapat mengirimkan konfirmasi negatif kembali kepada pengirim. Sebagai pengganti, dikonfirmasi kembali byte terakhir data yang sudah diterima. Karena pengirim sering mengirimkan jumlah segmen yang besar kembali ke belakang, jika satu segmen hilang maka akan ada banyak duplikat ACK. Jika pengirim TCP menerima tiga duplikat ACK untuk data yang sama, maka ini diambil sebagai indikasi bahwa segmen yang di-ACK tiga kali sudah hilang. Dalam kasus ini tiga ACK duplikat diterima, pengirim TCP melakukan fast retransmit retransmisi cepat, mentransmisi ulang segmen sebelum timer segmen berakhir.

3.4 Penanganan Koneksi TCP