|
|
מהו פרוטוקול האינטרנט
מבנה חבילת IP
לעמודים נוספים בנושא IP
|
מהו פרוטוקול
האינטרנט
|
שירות התקשורת שמספק פרוטוקול האינטרנט, IP, הוא
שירות בלתי מהימן (unreliable) וחסר-קישור
(connectionless). אלה לא מילות גנאי; כך מתוכנן
הפרוטוקול לעבוד. השירות הוא בלתי מהימן, כי העובדה שחבילה נשלחה לא אומרת
שהיא תגיע ליעדה, או שמי ששלח אותה ידע מה קרה לה. השירות הוא חסר-קישור,
כיוון שכל חבילה מטופלת באופן בלתי תלוי בחבילות אחרות, גם אם החבילות שייכות
לאותה הודעה ויצאו לאותו יעד בזו אחר זו. החבילות יכולות להגיע ליעדן
במסלולים שונים לחלוטין, וחלקן יכולות ללכת לאיבוד.
|
בנוסף להיותו חסר-קשר ובלתי מהימן, שירות ה- IP מספק הובלה "טובה ככל
הניתן" (best-effort delivery). כלומר, חבילות לא יזרקו או ילכו לאיבוד סתם
כך. חוסר המהימנות לא נובע מתכונות קפריזיות של הפרוטוקול, אלא מכך שרשתות
תקשורת פיזיות עלולות לקרוס ולא לעמוד בעומס, ונתבים עלולים לסבול מכשל
חומרתי או תוכנתי.
|
חבילות IP, שנהוג לכנות בשם "datagrams", מכילות הודעה, או פרגמנט (חלק)
של הודעה, בגודל של עד 65,515 בתים (הגודל המקסימלי של חבילת IP הוא 64
קילובייט, ואורכו של פתיח ה- IP הוא לפחות 20 בתים).
|
|
0....... |
8....... |
16...... |
24...... |
|
כך בנוי הפתיח (header) הסטנדרטי של חבילת IP. כל שורה בפתיח היא באורך של 4
בתים (32 ביטים). אורכו של הפתיח הוא לפחות 5 שורות, כלומר 20 בתים. השורה השישית (אופציות)
היא, באופן לא מפתיע, אופציונלית בלבד. אחרי הפתיח מתחילים הנתונים.
|
השדות בפתיח לפי הסדר (משמאל לימין ומלמעלה למטה), הם:
|
|
|
- TOS:
סוג השירות (type of
service). השולח של החבילה יכול לציין את סוג השירות שהוא מעוניין שהחבילה
תקבל. שירות זה לרוב אינו נתמך כיום.
|
- אורך כולל:
אורכה בבתים של
החבילה, כולל הפתיח והנתונים עצמם. אורכו של שדה זה הוא 16 ביטים, ולכן הוא
יכול לבטא אורכים של עד 65,535 בתים. למעשה, אורכה של חבילת IP נקבע לרוב
לפי יחידת השידור המקסימלית (MTU) של שכבת התקשורת הפיזית שמתחת לשכבת ה-
IP.
|
- מספר מזהה:
מספר זה משמש
כאשר חבילת IP עוברת פרגמנטציה, כלומר מחולקת לכמה חלקים, פרגמנטים, במהלך
מסעה באינטרנט. המספר המזהה מצביע על חבילות שהן למעשה פרגמנטים של חבילה
מקורית אחת, כך שמחשב היעד יוכל לצרף את הפרגמנטים מחדש לחבילה אחת, בתהליך
שנקרא צירוף-מחדש (reassembly).
|
- דגלים:
שלושה ביטים
המשמשים גם הם למטרות פרגמנטציה וצירוף-מחדש. הביט הראשון מכונה "עוד
פרגמנטים", ומציין האם החבילה היא הפרגמנט האחרון (או היחיד) של חבילה
מקורית, או שיש לחכות לעוד פרגמנטים לפני שניתן יהיה לבצע צירוף-מחדש של
החבילה. הביט השני הוא ביט "אין לבצע פרגמנטציה" ("don't fragment", או
DF), שמציין כי שולח החבילה אינו מעוניין שהיא תעבור פרגמנטציה. הביט
השלישי אינו בשימוש, וערכו תמיד 0.
|
- היסט הפרגמנט (fragment offset):
מציין את מיקומו של הפרגמנט (אם מדובר בפרגמנט) בחבילה
המקורית. בפרגמנט הראשון, ערכו של שדה זה יהיה 0. בפרגמנטים הבאים, השדה
יציין את ההיסט בכפולות של 8 בתים. שדה זה מאפשר למקבל ההודעה לבצע
צירוף-מחדש של הנתונים המקוריים, לפי הסדר.
|
|
- פרוטוקול:
מציין את הפרוטוקול
של השכבה שמעל ל- IP בחבילה, כמו ICMP, UDP, TCP, או OSPF.
|
|
|
|
|
|
לעמודים נוספים בנושא IP
...
כתובות IP
ניתוב באינטרנט
ICMP
DNS
אבטחת מידע באינטרנט
IP גירסא 6
IP נייד
|
|
|