Friday, January 4, 2013

الطرق المختلفة للتحكم في سريان البيانات بين طرفين Data Control Flow



1- Sliding Windows

هو نوع من أنواع التحكم في سريان البيانات بين طرفين.
حيث يعتدم في هذه الحالة علي حجم Buffer  الخاص بالمستقبل, ففيه يتفق المستقبل والمرسل علي حجم معين من البيانات –يساوي حجم البافر للمستقبل- يقوم المرسل بإرساله كحد أقصي لا يرسل بعده طالما أن البافر ممتلأ حيث يكون هناك حد أقصي لعدد الFrames  التي يمكن إرسالها للمستقبل.

لكن كيف يعلم المرسل أن البافر الخاص بالمستقبل ممتلأ؟
هنا يأتي دور ال Handshaking حيث يقوم المستقبل بإرسال Ack للمرسل بآخر رقم للFrame  قام المستقبل بالإنتهاء منه وبمعلومية حجم الframe  وآخر واحد تم إرساله يستطيع المرسل أن يحدد هل يرسل أم لا.
حيث يقوم المرسل قبل إرسال أي Frame  بحسبة بسيطة حيث يطرح آخر frame  تم إرساله مع آخر Frame تم عمل Ack  له من المستقبل يستطيع المرسل تحدد إذا كان يحق له إرسال frame  آخر من عدمه


مثال :
لنفترض أن حجم البافر الخاص بالمستقبل 10 ميجا وحجم الframe  مثلا 1 ميجا, فإن العدد الأقصي لعدد الframes  التي يمكن إرسالها دون رد من المستقبل هو 10 فقط , فلنفترض أن المرسل أرسل 8 ثم إستلم +Ack  بأن المرسل قد إنتهي من الفريم الخامسة هذا يعني أن البافر يحتوي علي 3 فيرمات فقط ولذلك يستطيع المرسل إرسال فريمات حتي الفريم رقم 15 إذا لم يحصل في هذه المدة علي +Ack من المستقبل فإنه ستوقف بعدها عن الإرسال.
لمعلومات أكثر إضغط هنا

No comments:

Post a Comment