פרוטוקול רשת מומצא: מפרט, עקבה ותרגול

מאת ארז ברזאני · תרגול מקורי של GammaCyber

לומדים לקרוא מפרט חדש בעזרת פרוטוקול לימודי מקורי בשם PINGO. זהו מודל קטן לתרגול חשיבה: הוא אינו מפרט של מבחן צבאי ואינו תיאור של TCP. כל ההנחות הדרושות לפתרון מופיעות כאן.

המפרט המלא של PINGO

המצבים הם CLOSED ו־OPEN. במצב CLOSED, המקבל מקבל HELLO ומחזיר READY; שני הצדדים עוברים ל־OPEN. במצב OPEN השולח שולח DATA עם seq שערכו 0 או 1. המספר הראשון המצופה הוא 0. נתון עם המספר המצופה נמסר פעם אחת ליישום, נשלח ACK לאותו מספר, והמספר המצופה מתהפך. DATA עם המספר הקודם אינו נמסר שוב ליישום, אך מקבל ACK חוזר. השולח שומר לכל היותר הודעת DATA אחת שטרם אושרה. ACK תואם מאפשר לשלוח את ההודעה הבאה; timeout גורם לשידור חוזר של אותה הודעה. אין במודל סגירה, שחיתות או שינוי סדר בין הודעות שונות; אלה גבולות מכוונים של התרגיל.

דוגמה פתורה: אישור שאבד

הצדדים כבר OPEN והמקבל מצפה ל־0. DATA(0,A) מגיע: A נמסר ליישום, המקבל מצפה מעתה ל־1 ו־ACK(0) נשלח. האישור אובד. לאחר timeout השולח שולח שוב DATA(0,A). המקבל מזהה שזה המספר הקודם, ולכן אינו מוסר את A פעם נוספת ושולח ACK(0) שוב. כשהאישור מגיע לשולח, הוא יכול לשלוח DATA(1,B). המסקנה אינה ש־timeout מוכיח שהנתון אבד: הוא יכול להעיד גם על אישור שאבד.

טבלת המעקב

כתבו לכל אירוע: מצב השולח, ההודעה הממתינה, המספר המצופה במקבל ומה נמסר ליישום. חשוב להבדיל בין שליחה, הגעה ומסירה ליישום. בדוגמה, מספר שליחות DATA הוא שתיים אך מספר מסירות A ליישום הוא אחת. במעבדה אפשר לשנות את רצף אירועי האובדן ולראות את אותה הבחנה. אל תוסיפו כלל מהיכרות עם TCP אם אינו כתוב במפרט PINGO.

תרגול עצמאי עם הסברים

נסו לענות לפני פתיחת ההסבר. אפשר לעבוד ללא שעון או לבחור זמן אימון משלכם.

שאלה 1: ACK אבד. האם המקבל מוסר שוב את הנתון המשודר מחדש?

  1. כן
  2. לא, הוא שולח אישור חוזר בלבד
  3. תמיד סוגר חיבור
תשובה והסבר

לא, הוא שולח אישור חוזר בלבד: במודל המספר הקודם מזוהה ככפילות ואינו נמסר שוב.

שאלה 2: מה נשלח אחרי ACK(0) תואם?

  1. ההודעה הבאה עם seq=1
  2. תמיד HELLO
  3. ACK(1) מהשולח
תשובה והסבר

ההודעה הבאה עם seq=1: שידור חוזר משתמש באותו מספר; הודעה חדשה משתמשת במספר המתחלף.

הכפתור מסמן סיום לפי הדיווח שלכם; פתיחת פתרון אינה בדיקת ידע.

הצעד הבא בלמידה

בחרו עיקרון אחד שעדיין לא ברור, חזרו לדוגמה ונסו להסביר אותה במילים שלכם.

לשיעור הקשור בקורסלמפת הקורס וחלוקת התוכן

המשאבים בעמוד הזה פתוחים. חלק משיעורי הקורס זמינים בתצוגה מקדימה, וגישה מלאה בתשלום.

להמשך תרגול

מקורות טכניים וגבולות התרגול

המקורות מסבירים טכנולוגיה. הם אינם אסמכתה למבנה מיון צבאי. התוכן כאן עצמאי; הנחיות הזימון האישי הן הקובעות. מצאתם שגיאה? כתבו לנו.