Senin, 04 Juli 2011

Mekanisme Sliding-Window Flow

Comments

Fakta dalam flow control ini adalah bahwa hanya satu frame yang dapat dikirimkan pada saat yang sama. Dalam keadaan antrian bit yang akan dikirimkan lebih besar dari panjang frame (a>1) maka diperlukan suatu efisiensi. Untuk memperbesar efisiensi yang dapat dilakukan dengan memperbolehkan transmisi lebih dari satu frame pada saat yang sama.


Bila suatu stasiun A dan B dihubungkan dengan jalur full-duplex, stasiun B mengalokasikan buffers dengan selebar n frame, yang berarti stasiun B dapat menerima n frame, dan stasiun A diperbolehkan untuk mengirim frame sebanyak n tanpa menunggu adanya jawaban.

Untuk menjaga jejak dimana frame yang dikirimkan sedang dijawab maka masing-masing jawaban diberi label dengan nomor yang urut. Stasiun B menjawab frame dengan mengirimkan jawaban yang dilengkapi nomor urut dari frame berikutnya yang diinginkan. Jawaban ini juga memiliki maksud untuk memberitahukan bahwa stasiun B siap untuk menerima n frame berikutnya, dimulai dengan nomer urut yang telah tercantum.

Skema ini juga dapat dipergunakan untuk menjawab lebih dari satu frame. Misalnya stasiun B dapat menerima frame 2, 3 dan 4, tetapi menahan jawaban sampai sampai frame ke 4 tiba, dengan kembali jawaban dengan nomer urut 5, stasiun B menjawab frame 2, 3, dan 4 pada satu saat. Stasiun A memeliharan daftar nomer urutan yang boleh dikirim, sedangkan stasiun B menyimpan daftar nomer urutan yang siap akan diterima. Masing-masing daftar tersebut dapat dianggap sebagai window dari frame, sehingga prinsip kerjanya disebut dengan pengontrol aliran sliding-window.

Beberapa tambahan komentar diperlukan, karena nomer urut yang dipakai menempati daerah didalam frame, komentar tambahan ini dibatasai oleh terbatasnya tempat yang tersedia. Misalnya untuk daerah dengan panjang 3 bit, maka nomer urut jangkauannya antara 0 s.d 7 saja, sehingga frame diberi nomer dengan modulo 8, jadi sesudah nomer urut 7 berikutnya adalah nomer 0. Pada umumnya untuk daerah dengan panjang k-bit, maka jangkauan nomer urut dari 0 sampai dengan 2k-1, dan frame diberi nomer dengan modulo 2k.

Pada gambar dibawah menggambarkan proses sliding-windows, dengan diasumsikan nomer urut menggunakan 3-bit sehingga frame diberi nomor urut 0 s.d. 7, selanjutnya nomer yang sama dipakai kembali sebagai bagian urutan frame. Gambar segiempat yang diberi bayangan (disebut window) menunjukkan transmitter dapat mengirimkan 7 frame, dimulai dengan frame nomer 6. Setiap waktu frame dikirimkan maka window yang digambarkan sebagai kotak dibayangi akan menyusut, setiap waktu jawaban diterima, window akan membesar.

Ukuran panjang window sebenarnya tidak diperlukan sebanyak ukuran maksimumnya untuk diisi sepanjang nomer urut. Sebagai contoh, nomer urut menggunakan 3-bit, stasiun dapat membentuk window dengan ukuran 4, menggunakan protokol pengatur aliran sliding-window.

Sebuah contoh digambarkan pada gambar berikutnya (Gambar: Contoh protokol sliding-window). Misalnya diasumsikan memiliki daerah nomer urut 3-bit dan maksimum ukuran window adalah 7 frame. Dimulai dari stasiun A dan B telah menandai window dan stasiun A mengirimkan 7 frame yang dimulai dengan frame 0 (F0), sesudah mengirimkan 3 frame (F0, F1, dan F2) tanpa jawaban maka stasiun A telah menyusutkan window nya menjadi 4 frame. Window menandati bahwa stasiun A dapat mengirimkan 4 frame, dimulai dari frame nomer 3 selanjutnya stasiun B mengirim receive-ready (RR) yang berarti semua frame telah diterima sampai frame nomer 2 dan selanjutnya siap menerima frame nomer 3, tetapi pada kenyataannya disiapkan menerima 7 frame, dimulai frame nomer 3. Stasiun A terus mengirimkan frame nomer 3, 4, 5, dan 6, kemudian stasiun B menjawab RR7 sebagai jawaban dari semua frame yang diterima dan pengusulkan stasiun A mengirim 7 frame, dimulai frame nomer 7.

Receiver harus dapat menampung 7 frame belebihi satu jawaban yang telah dikirim, sebagian besar protokol juga memperbolehkan suatu stasiun untuk memutuskan aliran frame dari sisi (arah) lain dengan cara mengirimkan pesar receive-not-ready (RNR), yang dijawab frame terlebih dulu, tetapi melarang transfer frame berikutnya.

Bila dua stasiun saling bertukar data (dua arah) maka masing-masing perlu mengatur dua window, jadi satu untuk transmit dan satu untuk receive dan masingmasing sisi (arah) saling mengirim jawaban. Untuk memberikan dukungan agar efiisien seperti yang diinginkan, dipersiapkan piggy-backing (celengan), masing- masing frame data dilengkapi dengan daerah yang menangkap urutan nomer dari frame, ditambah daerah yang menangkap urutan nomer yang dipakai sebagai jawaban. Selanjutnya bila suatu stasiun memiliki data yang akan dikirim dan jawaban yang akan dikirimkan, maka dikirimkan bersama-sama dalam satu frame, cara yang demikian dapat meningkatkan kapasitas komunikasi.

Jika suatu stasiun memiliki jawaban tetapi tidak memiliki data yang akan dikirim, maka stasiun tersebut mengirimkan frame jawaban yang terpisah. Jika suatu stasiun memiliki data yang akan dikirimkan tetapi tidak memiliki jawaban baru yang akan dikirim maka stasiun tersebut mengulangi dengan mengirimkan jawaban terakhir yang dikirim, hal ini disebabkan frame data dilengkapi daerah untuk nomor jawaban, dengan suatu nilai (angka) yang harus diletakkan kedalam daerah tersebut. Jika suatu stasiun menerima jawaban yang sama (duplikat) maka tinggal mengabaikan jawaban tersebut.

Sliding-window dikatakan lebih efisien karena jalur komunikasi disiapkan seperti pipa saluran yang setiap saat dapat diisi beberapa frame yang sedang berjalan, tetapi pada stop-and-wait hanya satu frame saja yang boleh mengalir dalam pipa saluran tersebut.