Internet Protocol – הבדלי גרסאות
אין תקציר עריכה |
ביט => סיבית |
||
שורה 11: | שורה 11: | ||
פרוטוקול IP מחלק את המידע שעליו להעביר לחבילות, כל חבילה מורכבת מפתיח (header), נתונים, ואינו מכיל סוגר (trailer) בניגוד לפרוטוקולים אחרים. |
פרוטוקול IP מחלק את המידע שעליו להעביר לחבילות, כל חבילה מורכבת מפתיח (header), נתונים, ואינו מכיל סוגר (trailer) בניגוד לפרוטוקולים אחרים. |
||
===מבנה הפתיח=== |
===מבנה הפתיח=== |
||
4 ה[[ |
4 ה[[סיבית|סיביות]] הראשונים משמשים לסימון גרסת הפרוטוקול שבו נעשה שימוש. כיום נפוץ השימוש בגרסא 4 (IPv4) אך עקב מצוקת [[כתובת IP|כתובות]] מתחיל לחדור השימוש בגרסא 6. |
||
4 ה[[ |
4 ה[[סיבית|סיביות]] הבאים מגדירים את אורך הפתיח, ביחידות של 32 [[סיבית|סיביות]]. מכיוון שפתיח של חבילת IP יכולה להכיל נתונים שונים, בהתאם לאפשרויות השונות בהם נעשה שימוש, ולכן אורך הפתיח משתנה בין חבילה לחבילה. לדוגמא, פתיח בן 20 [[byte]] יקבל את האורך 5 (20 [[byte]] הם 160 [[סיבית|סיביות]]), כלומר את הערך ה[[בינארי]] 0101. יש לשים לב שאורך הפתיח לא יכול לעלות על 60 [[byte]] - אורך פתיח 1111 ב[[בינארי]]. |
||
8 ה[[ |
8 ה[[סיבית|סיביות]] הבאים נועדו במקור כדי לאפיין את סוג השירות" ToS - Type of Service, כלומר, האם על החבילה להעדיף מעבר מהיר על פני אמינות גבוהה. למרות שנעשה מחקר מדעי מקיף בנוגע לאפשרויות השימוש בשדה זה המסקנות לא ייושמו בפועל וכיום כמעט ולא נעשה בו שימוש. |
||
16 ה[[ |
16 ה[[סיבית|סיביות]] הבאים מגדירים את גודלה הכולל של החבילה, ביחידות של [[byte]] אחד. הגודל המינימלי לחבליה מוגדר להיות 576 [בייט]] (0000001001000000 ב[[בינארי]]) והגודל המקסימלי הוא 65535 [[בייט]] (1111111111111111 ב[[בינארי]]). |
||
16 ה[[ |
16 ה[[סיבית|סיביות]] הבאים מייצגים את "מספר הזיהוי" של החבילה. במקור הכוונה הייתה להשתמש בזיהוי זה ע"מ להבדיל בין חבילות שונות שנשלחו בתכיפות מאותו מקור לאותו היעד. מאוחר יותר הוצע להתשמש בשדה הזה ע"מ לעקוב אחר המסלול שעוברת החבילה, אך הצעה זו לא מומשה. |
||
3 ה[[ |
3 ה[[סיבית||סיביות]] הבאים משמשים במקרים שבהם המידע מחולק בין יותר מחבילה אחת. במקרה כזה ה[[סיבית]] הראשונה תכיל 1, ואם זו היא החבילה האחרונה לאותו מידע מחולק גם ה[[סיבית]] האחרונה תכיל 1. בכל מקרה אחר הן יכילו 0. |
||
13 ה[[ |
13 ה[[סיבית|סיביות]] הבאים משמשים לזיהוי הסדר שבו צריך להרכיב את המידע, במקרה שהוא מחולק בין כמה חבילות. שדה זה יכיל מיספור בסדר עולה של החבילות המכילות את המידע המחולק. |
||
8 ה[[ |
8 ה[[סיבית|סיביות]] הבאים מייצגים את "זמן החיים" של החבילה (TTL - Time To Live). השדה מקבל מספר כלשהו בעת השליחה, ובכל תחנה שהחבילה עוברת בדרך המספר מוקטן באחד. אם "זמן החיים" של החבילה הגיע לאפס לפני שהיא הגיעה ליעדה, היא מושמטת ולא מועברת הלאה. מנגנון זה הומצא כדי למנוע מחבילות שלא יכולות להגיע ליעדן להסתובב באופן אינסופי ברשת. |
||
8 ה[[ |
8 ה[[סיבית|סיביות]] הבאים מייצגים מספר, הקובע לאיזה פרוטוקול יש להעביר את המידע לאחר שהועבר. לדוגמא - אחד [[ICMP]], שש [[TCP]], שבע-עשרה [[UDP]]. |
||
16 ה[[ |
16 ה[[סיבית|סיביות]] הבאים מכילים מספר שנועד לוודא את המעבר התקין של ה''פתיח''. מפעילים על הפתיח פונקציה ידועה, שע"פ נתונים שונים שהוא מכיל מחזירה מספר בן 16 [[סיבית|סיביות]]. התחנה המקבלת מפעילה את אותה הפונקציה על הפתיח ומשווה את התוצאה עם תכולת השדה ע"מ לוודא שהפתיח הגיע תקין. '''IP לא מוודא את אמינות הנתונים, אלא רק את אמינות הפתיח'''. |
||
32 ה[[ |
32 ה[[סיבית|סיביות]] הבאים מכילים את [[כתובת IP|כתובת הIP]] של השולח. |
||
32 ה[[ |
32 ה[[סיבית|סיביות]] הבאים מכילים את [[כתובת IP|כתובת הIP]] של הנמען. |
||
בהמשך ניתן להוסיף אופציות שונות (למשל אפשרויות אבטחה). במקרה שהאופציות לא מגיעות למכפלה שלמה של 32 [[ |
בהמשך ניתן להוסיף אופציות שונות (למשל אפשרויות אבטחה). במקרה שהאופציות לא מגיעות למכפלה שלמה של 32 [[סיבית]] (שהרי גודל פתיח חבילת הIP חייב להיות כפולה שלמה של 32) מרפדים את סופו של הפתיח באפסים ע"מ להגיע לכפולה כזאת. |
גרסה מ־18:57, 25 ביולי 2003
IP - Internet Protocol הוא פרוטוקול המשמש להעברת נתונים ללא אימות הגעה או אימות נתונים, אך הוא מפצה על כך בהיותו יעיל ומהיר ביותר, ולכן הוא אחד הפרוטוקולים הנפוצים בשימוש ברשתות מחשבים, וביניהם ברשת האינטרנט.
IP הוא חלק מחבילת הפרוטוקולים TCP/IP. למרות שהוא יכול לפעול גם ללא TCP, נהוג לעשות שימוש בשניהם יחדיו כאשר TCP עושה שימוש בIP לשם העברת הנתונים, אך מוודא בעצמו אם הם אכן הגיעו ליעדם במדוייק.
ברשתות שעושות שימוש בIP יש להקצות לכל מחשב כתובת IP ייחודית.
IP מתפקד בשכבת הרשת של מודל הOSI ובשכבת הרשת של מודל הTCP/IP.
מבנה חבילת IP
פרוטוקול IP מחלק את המידע שעליו להעביר לחבילות, כל חבילה מורכבת מפתיח (header), נתונים, ואינו מכיל סוגר (trailer) בניגוד לפרוטוקולים אחרים.
מבנה הפתיח
4 הסיביות הראשונים משמשים לסימון גרסת הפרוטוקול שבו נעשה שימוש. כיום נפוץ השימוש בגרסא 4 (IPv4) אך עקב מצוקת כתובות מתחיל לחדור השימוש בגרסא 6.
4 הסיביות הבאים מגדירים את אורך הפתיח, ביחידות של 32 סיביות. מכיוון שפתיח של חבילת IP יכולה להכיל נתונים שונים, בהתאם לאפשרויות השונות בהם נעשה שימוש, ולכן אורך הפתיח משתנה בין חבילה לחבילה. לדוגמא, פתיח בן 20 byte יקבל את האורך 5 (20 byte הם 160 סיביות), כלומר את הערך הבינארי 0101. יש לשים לב שאורך הפתיח לא יכול לעלות על 60 byte - אורך פתיח 1111 בבינארי.
8 הסיביות הבאים נועדו במקור כדי לאפיין את סוג השירות" ToS - Type of Service, כלומר, האם על החבילה להעדיף מעבר מהיר על פני אמינות גבוהה. למרות שנעשה מחקר מדעי מקיף בנוגע לאפשרויות השימוש בשדה זה המסקנות לא ייושמו בפועל וכיום כמעט ולא נעשה בו שימוש.
16 הסיביות הבאים מגדירים את גודלה הכולל של החבילה, ביחידות של byte אחד. הגודל המינימלי לחבליה מוגדר להיות 576 [בייט]] (0000001001000000 בבינארי) והגודל המקסימלי הוא 65535 בייט (1111111111111111 בבינארי).
16 הסיביות הבאים מייצגים את "מספר הזיהוי" של החבילה. במקור הכוונה הייתה להשתמש בזיהוי זה ע"מ להבדיל בין חבילות שונות שנשלחו בתכיפות מאותו מקור לאותו היעד. מאוחר יותר הוצע להתשמש בשדה הזה ע"מ לעקוב אחר המסלול שעוברת החבילה, אך הצעה זו לא מומשה.
3 ה|סיביות הבאים משמשים במקרים שבהם המידע מחולק בין יותר מחבילה אחת. במקרה כזה הסיבית הראשונה תכיל 1, ואם זו היא החבילה האחרונה לאותו מידע מחולק גם הסיבית האחרונה תכיל 1. בכל מקרה אחר הן יכילו 0.
13 הסיביות הבאים משמשים לזיהוי הסדר שבו צריך להרכיב את המידע, במקרה שהוא מחולק בין כמה חבילות. שדה זה יכיל מיספור בסדר עולה של החבילות המכילות את המידע המחולק.
8 הסיביות הבאים מייצגים את "זמן החיים" של החבילה (TTL - Time To Live). השדה מקבל מספר כלשהו בעת השליחה, ובכל תחנה שהחבילה עוברת בדרך המספר מוקטן באחד. אם "זמן החיים" של החבילה הגיע לאפס לפני שהיא הגיעה ליעדה, היא מושמטת ולא מועברת הלאה. מנגנון זה הומצא כדי למנוע מחבילות שלא יכולות להגיע ליעדן להסתובב באופן אינסופי ברשת.
8 הסיביות הבאים מייצגים מספר, הקובע לאיזה פרוטוקול יש להעביר את המידע לאחר שהועבר. לדוגמא - אחד ICMP, שש TCP, שבע-עשרה UDP.
16 הסיביות הבאים מכילים מספר שנועד לוודא את המעבר התקין של הפתיח. מפעילים על הפתיח פונקציה ידועה, שע"פ נתונים שונים שהוא מכיל מחזירה מספר בן 16 סיביות. התחנה המקבלת מפעילה את אותה הפונקציה על הפתיח ומשווה את התוצאה עם תכולת השדה ע"מ לוודא שהפתיח הגיע תקין. IP לא מוודא את אמינות הנתונים, אלא רק את אמינות הפתיח.
32 הסיביות הבאים מכילים את כתובת הIP של השולח.
32 הסיביות הבאים מכילים את כתובת הIP של הנמען.
בהמשך ניתן להוסיף אופציות שונות (למשל אפשרויות אבטחה). במקרה שהאופציות לא מגיעות למכפלה שלמה של 32 סיבית (שהרי גודל פתיח חבילת הIP חייב להיות כפולה שלמה של 32) מרפדים את סופו של הפתיח באפסים ע"מ להגיע לכפולה כזאת.