עמוד:183

3 . 4 . 4 קביעת זמן ההמתנה לפני שידור חוזר TCP-1 כפי שציינו בסעיף הקודם , קביעת זמן ההמתנה במקרה של TCP היא בעייתית . TCP צריך לפעול נכון בתנאים שונים ומגוונים . בכל מחשב יש רק עותק ( reentrant ) אחד של TCP שצריך לתמוך בתהליכי יישום רבים . ייתכן שיישום אחד שולח נתונים בערוץ לוויין ( השהיה גדולה יחסית ) ויישום אחר שולח נתונים למחשב בחדר סמוך באמצעות רשת מקומית . TCP צריך להיות מסוגל לשדר שוב כל מקטע שאבד בשני הערוצים . יש לזכור גם שעומסים בנתבים עלולים לגרום למנות להשתהות ברשת למשך זמן ארוך ולא צפוי . כמה זמן על השולח להמתין לפני שישדר שוב ? מובן שהמתנה ארוכה מדי אינה רצויה כי היא מפחיתה את נצילות הערוץ , אך המתנה קצרה מדי תגרור שידורים חוזרים מיותרים . פרוטוקולים קודמים של שכבת התובלה השתמשו בזמן המתנה קבוע . מתכנן הפרוטוקול היה צריך לקבוע מראש זמן המתנה שנראה לו מתאים . מתכנני TCP הבינו שזמן ההמתנה חייב להיות מסתגל . כלומר , השולח צריך לעקוב אחר ההשהיה בכל קשר , ולשנות את זמן ההמתנה בהתאם להשהיות הקודמות באותו הקשר . כיצד TCP יכול לקבוע את ההשהיות באינטרנט ? ובכן , ל-קכח' אין תמונה מלאה על המצב ברשת כולה . אך בכל קשר פעיל , הוא יכול למדוד את RTT n ( זמן הלוך-ושוב , ( round-trip time על-ידי מדידת הזמן מסיום שידור המקטע עד להגעת האישור . בזמן הפעולה של TCP הוא ממשיך לדגום את RTT-n ויוצר סדרה של הערכות . לפי זה הוא מחשב ( בעזרת פונקציה סטטיסטית ) ממוצע משוקלל של . RTT-n בנוסף לכך TCP מעריך את השונות , ( variance ) ומשתמש בצירוף לינארי של הממוצע הוא מאשר שוב את המקטע האחרון שהתקבל אצלו לפי הסדר . כאמור , TCP לא משתמש באישור שלילי ( Nak ) ולכן אישור כפול של אותו מקטע מסמן אובדן של מקטע מאוחר יותר . מאחר שהשולח משדר לרוב הרבה מקטעים ברצף , אס מקטע אחד אבד , סביר שיתקבלו הרבה אישורים כפולים ( כל מקטע שיגיע למקבל לאחר המקטע שאבד יגרום לשליחת אישור נוסף של המקטע האחרון שהתקבל לפי הסדר . ( כאשר השולח מקבל שלושה אישורים כפולים ( כלומר , ארבעה אישורים של אותו מקטע ) הוא רואה בזה עדות לאובדן של מקטע . ומבצע שידור חוזר . זה נקרא שידור חוזר מהיר ( fast retransmit ) משום שהשולח אינו ממתין לפסיקת-זמן .

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


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