עמוד:178

בהתחלה , שני הערכים נקבעים לערך התחלתי כלשהו שנקרא ו . initSeqNum כמו -כן , השולח משתמש בקוצב-זמן יחיד שמציין את הזמן שחלף מאז השידור של המקטע האחרון שעדיין לא אושר . עיינו באלגוריתם שלהלן . שולח SN < - initSeqNum RN < - initSeqNum בצע לולאה ( אינסופית ? . ( . 1 באשר מגיעים נתונים לשידור משככת היישום , .-בצע צור מקטע DP TCP מספר סידורי SN העבר את המקטע IP ' -ל אם קוצב-הזמן לא פועל , אתחל אותו SN ^ SN + length ( data ) . 2 כאשר מתקבל אישור , בצע ? . אם מספר האישור גדולמ 1 {^ מספר האישור RN < - אם יש מקטעים שעדיין לא אושרו אתחל קוצב-זמן . 3 כאשר מתרחשת פסיקת זמן בצע : שדר שוב את המקטע שלא אושר , שהוא בעל המספר הסידורי הקטן ביותר אתחל קוצב-זמן סוף הלולאה השולח נמצא בלולאה אין-סופית , וממתין לשלושה אירועים אפשריים : הגעת נתונים משכבת היישום , הגעת אישור או פסיקת זמן . כאשר מגיעים נתונים משכבת היישום , השולח יוצר מקטע , TCP רושם בו את הערך של המשתנה , SN ומעדכן את SN כך שיהיה מספר הבית הראשון במקטע הבא שישודר . העדכון נעשה על-ידי הוספת אורך שדה הנתונים , length ( data ) - לערכו של . SN ייתכן שקוצב-הזמן כבר פועל בגלל שידור של מקטע קודם שעדיין לא אושר , אך אם קוצב-הזמן לא פועל יש לאתחלו .

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


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