בכתבה הראשונה על מבנה רשת האינטרנט כתבתי על כתובות IP ואני רוצה להרחיב על חבילות המידע המועברות ברשת.
בלי לרדת לעומקם הטכני של הפרטים, כל חבילת מידע שנשלחת ברשת האינטרנט מכילה:
* כתובת מקור (כתובת השולח)
* כתובת היעד (כתובת הנמען)
* פורט מקור
* פורט יעד
* מספר החבילה
* בדיקת תקינות החבילה
(יש עוד כמה פרטים טכניים שנשלחים בדרך, לקריאה נוספת לחצו כאן).
כתובות המקור והיעד הם בפשטות כתובת ה-IP שלי (המחשב השולח) וכתובת ה-IP שאליו אני שולח מידע (לדוגמא המחשב של החבר, אם זו הודעה כגון ICQ, או שרת גוגל כשאני לוחץ "שלח" אחרי שהקלדתי מה ברצוני לחפש).
פורט המקור ופורט היעד הם הפורטים של מחשבי המקור והיעד, בהתאמה, שביניהם נשלחת חבילת המידע. זה מקביל לאנשים שונים שגרים באותה דירה ומקבלים חבילות שונות מחברים אחרים. ככה ICQ לא מתבלבל עם הדפדפן ולא מציג את הכתובת שבה אנו גולשים אלא את ההודעה מחבר, והאימייל לא נכנס לתוכנת ההורדות במקום לאאוטלוק.
מספר החבילה הוא מספר שלם כלשהו שמאפיין את החבילה בתוך שאר החבילות שמועברות בין מחשב המקור למחשב היעד.
הסבר: אם נחזור לדימוי של חברת ההובלה, הפעם החברה היא רשות הדואר, וניתן להעביר רק מעטפות קטנות. מכיוון שאני לא מייבא מכוניות עם רשות הדואר, אין לי בעיה עקרונית עם זה. אני שולח לחברים שלי מכתבים והם שולחים אלי בחזרה מכתבים. אבל מה לעשות אם אני מייבא ספרים?
כאן העניין הוא די פשוט: יצרן הספרים (בשביל הפשטות נקרא לו סטימצקי) יתלוש דף-דף מתוך הספר, וישלח לי כל דף של ספר במעטפה נפרדת. כאשר אני אקבל את המעטפות אני אדע באיזה סדר הדפים מסודרים בספר ע"פ מספור העמודים על דפי הספר. מספור העמודים הזה הוא מספר החבילה, וזה עובד ממש כמו ברשות הדואר: אם שולחים לי כמה מעטפות באותו יום, אני מקבל את כולם באותו יום. אין ביניהם את אותו הסדר שבהם הם נשלחו, ולכן חשוב למספר את החבילות (מיספור החבילות חשוב לעוד עניין, ארחיב בהמשך).
כשאני מוריד קובץ מהאינטרנט הוא לא מגיע אלי בשלמותו בתוך חבילת מידע אחת, הוא מגיע מחולק לפעמים לאלפי חבילות מידע קטנות, תלוי בגודל הקובץ. חבילת מידע באינטרנט היא בד"כ בגודל של עד כמה קילו-בייטים בודדים, ומספור החבילות מאפשר למחשב שלי לדעת איך לחבר מחדש את הקובץ שהגיע בחלקים לקובץ אחד גדול.
בדיקת תקינות החבילה זה עוד תוספת מידע מקודד לחבילה. המידע הזה מכיל מידע על הסיביות שמהם מורכבת כל החבילה (סיביות המחשב הם יחידות המידע הקטנות ביותר – סיבית מכילה "0" או "1"), כך שהמחשב המקבל את החבילה יודע האם החבילה הגיעה בצורה מדויקת כפי שהיא נשלחה, או שבדרך היא "התקלקלה" (נניח "0" הפך ל"1" או ההיפך).
במונחי רשות הדואר, המידע המועבר ב"בדיקת התקינות" הוא המידע המועבר "על המעטפה": ברגע שאני מקבל את המעטפה אני יודע האם המעטפה הגיעה שלמה או קרועה. אם היא הגיעה אלי קרועה היא כאילו לא הגיעה. חצי דף זה לא בשבילי. לכן…
הדבר האחרון הוא נושא ההגעה התקינה ליעד. נחזור לרשות הדואר. סוכן המכירות של סטימצקי שלח לי ספר שלם בדפים בודדים שמחולקים למעטפות. אני מקבל אותם ממוספרות והכל טוב ויפה, רק שהמעטפה שהכילה את דף מס' 31 הלכה לאיבוד בדואר. מה עושים? האם אני אאלץ לקרוא את הספר בלי הדף החסר?
התשובה שלילית. אני אקרא את הספר בשלמותו. טוב שיש מספרי עמודים כדי לדעת שחסר לי דף.
ברשת האינטרנט קורות הרבה תקלות. לפעמים חבילות הולכות לאיבוד, לפעמים הן מגיעות באיחור, ולפעמים מגיעות יותר מפעם אחת. אבל מחשבים לא טועים, אז למה זה קורה? הסיבה היא רעש בקווי התקשורת. לפעמים קשיי קליטה קיימים (והם קיימים גם על כבלים ולא רק באוויר), ואז אני מפסיד כמה שניות של התוכנית האהובה עלי בטלויזיה רק בגלל שהיה ברק בחוץ ובטלויזיה היה "שלג".
בשביל שאני אקרא את הספר בשלמותו, עשיתי הסכם עם סוכן המכירות של סטימצקי: בכל יום הוא ישלח לי כמה מעטפות, ובכל יום ראשון אני אשלח לו בחזרה מעטפה עם מספרי העמודים שקיבלתי. אם עמוד 31 היה חסר או קרוע בשליחה אחת, הוא ידע על כך וישלח לי אותו שוב, ביחד עם העמודים המתקדמים יותר שהוא שולח בינתים. אם המכתב שלי לא הגיע אליו, הוא ישלח את כל אותם עמודים שוב. אם כמה שבועות הוא לא קיבל ממני מכתב, הוא יתקשר אלי לבדוק אם אני בבית או שמא עברתי דירה. אם עברתי דירה והוא לא דיבר איתי כדי לשמוע שאני גר באותו מקום, הוא יפסיק לשלוח את המעטפות עם דפי הספר.
וכך גם עם חבילות המידע באינטרנט.