עמוד:147

המקרה המתואר באיור נוגד את ההגדרה של שירות אמין ; הגדרה זו קובעת כי כל מנה צריכה להגיע ליעדה בדיוק פעם אחת . היעד הוא השכבה שמעל י לכן המקבל צריך להימנע מלהעביר מנות כפולות לשכבה שמעל . הפתרון : מספור המנות הנשלחות כדי לפתור בעיה ודו צריך המקבל להבחין בין מנה שמתקבלת בפעם הראשונה ובין מנה המתקבלת שוב , לאחר שכבר התקבלה בעבר . אפשר להשיג זאת על-ידי מספור המנות הנשלחות . לצורך מספור המנות ובדיקת סדר קבלתן יש לקיים תנאים אלה א . השולח והמקבל צריכים להחזיק משתנה שישמש כמונה . ב . כל מנה צריכה לכלול שדה מספור . נתאר נושאים אלה להלן . שני הצדדים צריכים להשתמש במשתנים שהם מונים , כפי שנסביר להלן י השולח משתמש במונה שליחה , שמאחסן את מספר המנה הבאה שצריכה להישלח ; אחרי שיתקבל אישור על המנה שנשלחה , השולח מוסיף 1 למונה ( עדכון . ( מקובל לקרוא למונה זה . ( Sequence Number ) SN המקבל משתמש במונה קבלה , שיאחסן את מספרה של המנה הבאה שצריכה להתקבל ( או שהוא מבקש לקבל . ( מקובל לקרוא למונה זה . ( Request Number ) RN העדכון של מונה זה יתבצע לאחר העברה של מנה תקינה לשכבת היישום . יש להוסיף שדה מספור לכותרת של כל מנה ו ; השולח כותב לשדה זה את ערכו של מונה השליחה . כאשר המקבל מקבל מנה , הוא משווה את ערכו של שדה זה עם מונה הקבלה . אם מתקיים שוויון , הוא מסיק שהמנה הגיעה בפעם הראשונה , ולכן מעביר אותה לשכבת היישום ומעדכן את מונה הקבלה ( על-ידי הוספת 1 לערכו . ( אולם , אם ערך שדה המספור קטן מערכו של מונה הקבלה , המקבל מניח שמנה זו התקבלה כבר בעבר ונשלחה שוב , משום שהאישור בעבורה אבד . לכן , במקרה זה , המנה לא תועבר לשכבה שמעל ומונה הקבלה לא יעודכן . כדי לאפשר לשולח לעבור לשידור המנה הבאה , המקבל שולח Ack בכל מקרה .

מטח : המרכז לטכנולוגיה חינוכית


לצפייה מיטבית ורציפה בכותר