Apa Itu Silly Window Syndrome - Penjelasan dan Pencegahan

Data ditransfer melalui jaringan dan Internet menggunakan TCP/IP Protocol . TCP/IP tidak sempurna tetapi lebih mudah diimplementasikan dibandingkan dengan protokol lain yang berteori untuk komunikasi data… seperti model ISO OSI(ISO OSI) . Seperti halnya hal teknis apa pun, TCP/IP juga memiliki beberapa kekurangan dan Silly Window Syndrome adalah ciptaan dari salah satu kekurangan tersebut. Untuk memahami apa itu Silly Window Syndrome atau SWS , Anda harus terlebih dahulu memahami mekanisme dasar komunikasi data di TCP/IP .

Sindrom Jendela Konyol

sindrom jendela konyol

Memahami jendela dan ukurannya

Ketika dua titik berkomunikasi di bawah TCP/IP , itu melibatkan mekanisme pengakuan. Mekanisme pengakuan inilah yang menyebabkan Silly Window Syndrome sebagaimana dijelaskan lebih lanjut. Poin dapat merujuk ke dua komputer, klien dan server, dll.

SWS is caused by the receiver advancing the right window edge whenever it has any new buffer space available to receive data and by the sender using any incremental window, no matter how small, to send more data. The result can be a stable pattern of sending tiny data segments, even though both sender and receiver have a large total buffer space for the connection, says MSDN.

Ketika sebuah komputer, katakanlah A, mengirim paket data ke komputer lain B, komputer tersebut harus mengakui dan membalas bahwa ia menerima paket data. Seiring dengan pengakuan, itu juga harus mengirim ukuran buffer yang ditetapkan untuk utas komunikasi itu. Ini umumnya jumlah byte yang dibebaskan untuk komunikasi.

Jadi ketika B mengatakan 100B tersedia untuk pesan berikutnya, 100B adalah jendela di Silly Window Syndrome . Artinya, itu adalah ukuran buffer. Dengan kekurangannya sendiri, mekanisme TCP/IP dapat mengurangi ukuran buffer untuk setiap komunikasi/data yang datang dari A. Artinya, setiap kali A mengirim pesan, B menganggap ukuran buffer dikurangi dan mengirimkan nomor yang lebih kecil. Dengan demikian ukuran jendela terus berkurang dan pada suatu titik, komunikasi hanya berhenti ketika B mengirimkan 0B sebagai ukuran jendela.

Bagaimana Cara Kerja Sindrom Jendela Konyol

Menurut contoh A dan B di atas, jika B mengirim 1000B sebagai ukuran jendela, A akan membaginya menjadi dua 500B dan mengirim dua paket 500B. Setelah menerima paket pertama, B akan mengirimkan pemberitahuan yang mengatakan 500B tersedia untuk jendela karena paket kedua belum diterima. A mengasumsikan 500B adalah ukuran jendela dan mengirimkan dua paket 250B akibatnya. Sementara di B, 500B digunakan dan 500 baru saja diterima, itu akan mengirim 0B jika tersedia. Pada titik ini, A akan menganggap tidak ada jendela yang tersedia meskipun mungkin terjadi buffer kosong karena prosesor menggunakan data di sana. A masih akan mengirim paket yang lebih kecil untuk melihat apakah ada jendela yang tersedia. Jika isi buffer di B belum dihapus, masih akan menerima 0 sebagai respons/pengakuan.

Dengan demikian, ukuran jendela terus berkurang karena B mengirimkan pengakuan setiap kali menerima paket dari A. Ukuran ini biasanya lebih kecil dari pengakuan sebelumnya karena B menerima paket data dalam beberapa bagian. Tidak akan ada masalah jika A dapat mengirim paket yang cukup besar untuk menutupi ukuran buffer pada B pada suatu waktu. Tapi itu akan membutuhkan mekanisme tambahan dan karenanya Silly Window Syndrome . Komunikasi berhenti setelah A menerima 0 dua atau tiga kali.

Cara Mencegah Silly Window Syndrome ( SWS )

Ada algoritma sederhana yang akan diterapkan untuk menyingkirkan SWS . Setelah menerima paket awal, B mengirimkan setengah dari ruang yang benar-benar tersedia sebagai jendela. Itu akan membuat A mengirim paket yang lebih kecil. Akibatnya, ketika paket menjadi terlalu kecil, maka B mengirimkan ukuran buffer total sehingga A dapat mulai mengirim byte data yang lebih besar lagi.

Dengan kata lain, jika 1000B tersedia, B mengirimkan 500B sebagai pengakuan. Dengan demikian, A mengirimkan 250B x ​​2 paket. Untuk ini, A menerima 100B sebagai pengakuan. Ketika menerima paket 50B, B mengirim 1000B – 50B ke A. Itu membuat seluruh percakapan beroperasi kembali. Ini mungkin menyebabkan sedikit penundaan dalam pemrosesan tetapi akan mencegah terjadinya Silly Window Syndrome dan menghentikan seluruh percakapan.

Singkatnya, SWS didasarkan pada ukuran buffer yang tersedia untuk penerima dan ukuran yang diasumsikan dihitung oleh pengirim. Untuk mencegah SWS , penundaan diperkenalkan dan ukuran jendela yang lebih kecil yang disengaja dibalas sampai ukuran paket menjadi terlalu kecil. Kemudian penerima mengungkapkan ukuran jendela yang sebenarnya tersedia. Seluruh proses terus berulang sampai komunikasi selesai.

Meskipun saya mungkin menggunakan kata window dan buffer secara bergantian. Saya tidak bermaksud ada perbedaan di antara mereka. Dalam studi SWS , buffer adalah jendela.



About the author

Setelah hampir 20 tahun di industri teknologi, saya telah belajar banyak tentang produk Apple dan cara mempersonalisasikannya untuk kebutuhan saya. Secara khusus, saya tahu cara menggunakan platform iOS untuk membuat tampilan khusus dan berinteraksi dengan pengguna saya melalui preferensi aplikasi. Pengalaman ini telah memberi saya wawasan berharga tentang bagaimana Apple mendesain produknya dan cara terbaik untuk meningkatkan pengalaman pengguna mereka.



Related posts