IPv4
חבילת IPv4 > מבנה הפתיח

| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
| גרסת הפרוטוקול | גרסת הפרוטוקול | גרסת הפרוטוקול | גרסת הפרוטוקול | אורך הפתיח | אורך הפתיח | אורך הפתיח | אורך הפתיח | סוג השירות (ToS) | סוג השירות (ToS) | סוג השירות (ToS) | סוג השירות (ToS) | סוג השירות (ToS) | סוג השירות (ToS) | סוג השירות (ToS) | סוג השירות (ToS) | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה | אורך החבילה |
| מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | מספר הזיהוי | סיביות חלוקה | סיביות חלוקה | סיביות חלוקה | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע | סדר הרכבת המידע |
| זמן החיים (TTL) | זמן החיים (TTL) | זמן החיים (TTL) | זמן החיים (TTL) | זמן החיים (TTL) | זמן החיים (TTL) | זמן החיים (TTL) | זמן החיים (TTL) | פרוטוקול שכבת התעבורה | פרוטוקול שכבת התעבורה | פרוטוקול שכבת התעבורה | פרוטוקול שכבת התעבורה | פרוטוקול שכבת התעבורה | פרוטוקול שכבת התעבורה | פרוטוקול שכבת התעבורה | פרוטוקול שכבת התעבורה | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח | Checksum של הפתיח |
כתובת ה-IP של השולח
כתובת ה-IP של היעד

4 הסיביות הראשונות משמשות לסימון גרסת הפרוטוקול שבו נעשה שימוש. כאן יוצג המספר 4 (IPv4).
4 הסיביות הבאות מגדירות את אורך הפתיח, ביחידות של 32 סיביות (שהם 4 בתים). מכיוון שפתיח של חבילת IP יכולה להכיל נתונים שונים, בהתאם לאפשרויות השונות בהן נעשה שימוש, ולכן אורך הפתיח משתנה בין חבילה לחבילה. לדוגמה, פתיח בן 20 בתים יקבל את האורך 5 (20 בתים הם 160 סיביות). יש לשים לב שאורך הפתיח לא יכול לעלות על 60 בתים.
8 הסיביות הבאות נועדו במקור כדי לאפיין את סוג השירות (ToS – Type of Service), כלומר, האם על החבילה להעדיף מעבר מהיר על פני אמינות גבוהה. כיום השדה משמש ל-DiffServ או ל-ECN.
16 הסיביות הבאות מגדירות את גודלה הכולל של החבילה, ביחידות של בית אחד. הגודל המינימלי לחבילה מוגדר להיות 20 בתים (הגודל המינימלי של פתיח IP), והגודל המקסימלי הוא 65535 בתים.
16 הסיביות הבאות מייצגות את "מספר הזיהוי" של החבילה. שדה זה משמש בעיקר לצורך הרכבה מחדש של הודעות אשר חולקו (ראה בהמשך). במקרה בו יש מספר רב של חלקים (Fragments), הצד המקבל צריך לדעת את מי מהחלקים להרכיב מחדש. בזמן חלוקה של הודעה, מספר זה חייב להישמר. מערכת ההפעלה בדרך כלל מעלה את המספר באופן סדרתי בכל הודעה שיוצאת מהמחשב.
3 הסיביות הבאות נוגעות לחלוקת המידע ליותר מחבילה אחת. הביט הראשון שמור לשימוש עתידי וחייב להיות 0. הביט הבא מסמן האם אסור לנתבים בדרך לחלק את החבילה הנוכחית לחבילות קטנות יותר. אם שווה 1, אזי אסור על נתבים לבצע חלוקה כזו, ואם שווה 0 אזי מותר. הביט הבא מסמל האם לאחר חבילה זו יש חבילות נוספות, במקרה והחבילה המקורית חולקה לכמה חבילות.
13 הסיביות הבאות משמשות לזיהוי הסדר שבו צריך להרכיב את המידע, במקרה שהוא מחולק בין כמה חבילות. שדה זה מכיל את המיקום היחסי של המידע בחבילה הנוכחית, ביחס לחבילה המקורית שעברה חלוקה. המיקום נתון ביחידות של 8 בתים.
8 הסיביות הבאות מייצגות את "זמן החיים" של החבילה (TTL – Time To Live). השדה מקבל מספר כלשהו בעת השליחה, ובכל תחנה שהחבילה עוברת בדרך המספר מוקטן באחד. אם "זמן החיים" של החבילה הגיע לאפס לפני שהיא הגיעה ליעדה, היא מושמטת ולא מועברת הלאה. מנגנון זה הומצא כדי למנוע מחבילות שלא יכולות להגיע ליעדן להסתובב באופן אינסופי ברשת.
8 הסיביות הבאות מייצגות מספר, הקובע לאיזה פרוטוקול יש להעביר את המידע לאחר שהועבר. לדוגמה -
1 ICMP, 6 TCP, 17 UDP.
16 הסיביות הבאות מכילות מספר שנועד לוודא את המעבר התקין של הפתיח. מפעילים על הפתיח פונקציה ידועה, שעל-פי נתונים שונים שהוא מכיל מחזירה מספר בן 16 סיביות. התחנה המקבלת מפעילה את אותה הפונקציה על הפתיח ומשווה את התוצאה עם תכולת השדה על מנת לוודא שהפתיח הגיע תקין. IPv4 לא מוודא את אמינות הנתונים, אלא רק את אמינות הפתיח.
32 הסיביות הבאות מכילות את כתובת ה-IP של השולח.
32 הסיביות הבאות מכילות את כתובת ה-IP של הנמען.
בהמשך ניתן להוסיף אופציות שונות (למשל אפשרויות אבטחה). במקרה שהאופציות לא מגיעות למכפלה שלמה של 32 סיביות (שהרי גודל פתיח חבילת ה-IP חייב להיות כפולה שלמה של 32) מרפדים את סופו של הפתיח באפסים על-מנת להגיע לכפולה כזאת.