IPv4

גרסה 4 של פרוטוקול האינטרנט, או בקיצור IPv4, היא הגרסה הנפוצה של פרוטוקול IP, ומהווה את הפרוטוקול הבסיסי של רשת האינטרנט.

גרסה זו הוגדרה ב-RFC791 כחלק מחבילת הפרוטוקולים TCP/IP.
ברשתות שעושות שימוש ב־IP יש להקצות לכל מחשב כתובת IP ייחודית.

הגרסה העוקבת לגרסה 4 של הפרוטוקול (IPv4) נקראת IPv6.

כתובות 
כתובת IPv4 מורכבת מ-32 סיביות ומיוצגת באמצעות 4 מספרים עשרוניים המופרדים בנקודה. כל מספר מהווה מקבץ של 8 סיביות וגודלו נע בין 0 ל-255.

דוגמה ליצוג עשרוני מקובל: 208.80.152.2

והייצוג הבינארי של הכתובת הזאת יהיה:
11010000.01010000.10011000.00000010

חבילת IPv4 
פרוטוקול IP מחלק לחבילות את המידע שעליו להעביר, כאשר כל חבילה מורכבת מפתיח (header), נתונים, ואינה מכילה סוגר (trailer), בניגוד לפרוטוקולים אחרים.

מבנה הפתיח 

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) מרפדים את סופו של הפתיח באפסים על-מנת להגיע לכפולה כזאת.

ראו גם 
 מונחים ברשת מחשבים
 TCP/IP
 כתובת IP
 IP
 IPv6
 Localhost

קישורים חיצוניים

הערות שוליים 

פרוטוקולי אינטרנט
תקנים בתקשורת מחשבים