דף זה יציג את פרוטוקול IPv4 ואת פרוטוקול IPv6, בצירוף ידע וקישורים למאמרים נוספים בנושאים הללו כדי לעזור לקורא להעמיק בנושא.

הבה ונתחיל עם הפרוטוקול הוותיק יותר(זכות קדימה למבוגרים)…

IPv4

IPv4, או בשמו המלא – Internet Protocol version 4, הינו הפרוטוקול האינטרנט הראשון אשר שומש כעמוד תווך של האינטרנט הידוע לנו כיום. מי מאתנו מעולם לא פתח את הCommand Prompt, הקליד את הפקודה ידועה ipconfig(או בלינוקס – ifconfig) וראה מספרים שונים ומשונים כמו 192.168.1.60, או 10.0.0.103? אלו מספרי IPv4 אשר המחשב שלנו משתמש בהם כדי להזדהות ברשת עם מספר מסויים.

IPv4, שתוכנן לפני מספר עשורים, היה מותאם לכמות כתובות שבתקופה ההיא נחשב להרבה מאוד – כ4 מיליארד כתובות IP, כמות שנראתה אז לחוקרים ולמדעני מחשב כמספר עצום של כתובות, שכנראה לא נזדקק לכל הכתובות האלה. למעשה, הם טעו.  כיום יש קושי לחלק כתובות באזורים מסויימים בעולם, מכיוון שפשוט הכמות הזאת לא מספיקה. בישראל לדוגמה, יש מחסור בכתובות IPv4, אשר מתבטא בכל מיני תופעות בעיתיות ביותר שמפורטות כאן, כאן וכאן(הקרדיט כמובן לאתר Telecomnews אשר מפרסם כתבות אלו).

חוץ מבעיית כמות הכתובות בIPv4, עולות בעיות נוספות בIPv4, כפי שתואר במאמרים שצירפתי. הבעיה הראשונה היא נפילה בביצועים בגלל סיבות טכניות שיוסברו בהמשך. הבעיה השנייה היא הקושי להשיג כתובות IPv4 בגלל המחסור בהן. הבעיה השלישית היא חוסר התאימות של IPv4 לעידן הנוכחי.

לגבי הבעיה הראשונה, יש לציין כי כיום כמעט לכל משתמשי הקצה בישראל יש כתובת IPv4 ציבורית. ההיגיון הפשוט אומר שאם יש למשתמש ביתי מספר מכשירים, איך כולם משתמשים בו זמנית בכתובת IPv4 ציבורית אחת? כאן נכנס מנגנון ידוע בשם NAT, או בשמו העברי – תרגום כתובות רשת. הדבר פשוט להבנה, זוכרים שבתחילת הסקירה על IPv4 כתבתי שאתם רואים בipconfig כתובת כמו 10.0.0.103? או 192.168.1.60? גם אם לא בדיוק אותה כתובת, הדבר דומה לכתובות האלה.
אז מה בעצם קורה ברשת שלכם? הנתב שלכם כברירת מחדל משמש כשרת DHCP(מה זה DHCP תוכלו לקרוא כאן), כלומר – כאשר מכשיר מתחבר לרשת הוא מדבר עם שרת הDHCP ומבקש ממנו כתובת. מכיוון שאתם כמשתמשים מקבלים רק כתובת IP ציבורית מהספק האינטרנט שלכם, תקבלו כתובת פנימית, כמו 10.0.0.111 וכדומה. הנתב שלכם ידאג לכך שבעת השימוש באינטרנט, אתם תשלחו את המידע לנתב אשר יבצע תרגום כתובות – מהכתובת הפנימית הוא יעביר את המידע עם הכתובת הציבורית כך שהמידע יוכל לחזור(וגם למעשה למטרת ניתוב, כל נתב אשר עומד בשדרת האינטרנט[לא בבית שלכם] ונחשב לתקין יסרב לנתב כתובות פנימיות במחשבה שמדובר בשגיאה – רק כתובות ציבוריות יכולות להיות מנותבות ברשת הציבורית), אם במקרה הצד השני רוצה להחזיר תשובה. בעת חזרת התשובה, אם הדבר התרחש, הנתב שלכם יזכור כי פתחתם "ערוץ שיחה" עם מחשב אחר באינטרנט וידאג להחזיר לכם את המידע הנחוץ. בפועל, כל הפעולות האלה מתרחשות בהרף העין, בלי שהמשתמש ירגיש בכך. דבר נוסף אשר יש לציין על NAT הוא שהוא למעשה Firewall טבעי. אין זה אומר שהוא מספק אבטחה למשתמשים, אלא פשוט חיבור שיגיע מרשת האינטרנט ולא יהיה מזוהה כתשובה לבקשת משתמש, ידחה אוטומטית(שיטה לעקיפת הדבר היא Port forwarding, אשר ניתן לקרוא עליה פה).

זוכרים שאמרתי שכמעט כל משתמשי הקצה בישראל מקבלים כתובת IPv4 ציבורית אחת? למעשה, לא כל משתמשי האינטרנט בישראל מקבלים כתובת IPv4 ציבורית. בגלל המחסור בכתובות IPv4, ספקי אינטרנט חדשים אינם יכולים להרשות לעצמם לקנות מאגרי כתובות IP. על כן, תרגום הכתובות אשר הסברתי עליו מקודם לא מתבצע רק אצל הנתב של הלקוח אלא גם אצל הספק – כלומר מדובר במצב של Double NAT! ההשפעות המיידיות הן איטיות בעת הגלישה באינטרנט(או ביצוע כל פעולה אחרת באינטרנט). האיטיות נגמרת בעיקר בגלל כמות מחוברים גדולה עם כתובות פנימיות, דבר שגורם להאטה באופן כללי בגלל עומס. כמו כן, הדבר מקשה על יישומים לתקשר עם מחשבים אחרים ברשת האינטרנט. כפי שזכור, NAT לא נותן לחיבור מרשת האינטרנט להגיע בקלות למחשב בתוך הרשת הפנימית, ומצב של Double NAT רק מקשה עוד יותר. פרוטוקולים מסויימים לא יכולים לעבוד בסביבה כזו, והידועים מביניהם הם פרוטוקולים הקשורים לVoIP(טלפוניית IP).
לא רק ספקי אינטרנט חדשים עובדים בתצורה שכזו, אלא גם כל חברות הסלולר עובדות בשיטה זו, כי פשוט אין כתובות IPv4, ואין פריסה של IPv6.

IPv6

IPv6, או בשמו המלא – Internet Protocol version 6, הינו המיועד להחלפת פרוטוקול IPv4. הפרוטוקול החדש(או לא כל כך, מדובר בפרוטוקול שקיים עוד כבר מסוף שנות ה90), עונה על בעיות אשר נבעו מתכנון שאיננו מתאים לעידן הנוכחי.
היתרונות של IPv6 מובהקים למי שבקיא בנושא. ראשית, כמות הכתובות הציבוריות(Routable Addresses) הוא בקירוב של 2 בחזקת 128, מספר אסטרונומי ובלתי נתפס, לעומס 4 מיליארד כתובות ציבוריות(בקירוב) בפרוטוקול IPv4. למי שנכנס לפרטי פרטים, יכול לקרוא כי גם הניתוב משופר בIPv6(מה שתורם לביצועי הרשת ולחווית שימוש טובה יותר ברשת האינטרנט). הסיבות הטכניות לכך שהניתוב יעיל יותר בIPv6 ניתן לקרוא עליהן כאן.

זוכרים את מנגנון הNAT בIPv4? אז למעשה בIPv6 אין מנגנון כזה. הסיבה פשוטה והגיונית – אין צורך במנגנון כזה כאשר כל משתמש קצה יכול לקבל לא רק כתובת ציבורית אחת אלא בערך 18 טריליון כתובות ציבוריות שכאלה(בהנחה שהמשתמש מקבל הקצאה של תת-רשת /64, עוד על IPv6 Subnetting וגדלי הרשת בIPv6 פה). כל משתמש קצה אשר רשום לספק אינטרנט שתומך בIPv6 יקבל הקצאה של תת-רשת של לפחות /64, כלומר יקבל 18 טריליון כתובות ציבוריות – יותר ממה שכל משתמש ביתי צריך כנראה לעוד הרבה מאוד זמן.
למי שלא ידע, כאשר כתבו את פרוטוקול הIPv4, מטרת המהנדסים של האינטרנט הייתה להחיל עיקרון בשם End-to-end principle. בקיצור רב, אגיד כי מדובר בעיקרון אשר גורס כי לכל מחשב צריכה להיות הגישה לשלוח מידע לכל מחשב אחר ברשת האינטרנט מבלי שהדבר יחסם אלא אם הדבר נקבע על ידי מדיניות רשת(באמצעות חומת אש). NAT, כפי שהוסבר, הוא מנגנון ששובר את העיקרון הזה. IPv6, למרבה ההפתעה(או שלא..) משיב את העיקרון הזה בחזרה לרשת האינטרנט.

בניגוד לIPv4, אשר מסתמך על כך שברשת הפנימית ימצא שרת DHCP שיחלק כתובות פנימיות למכשירים, IPv6 מיישם שיטה אחרת – הראוטר ישלח לכל המכשירים המחוברים הודעה כי הוא תומך בIPv6 וכי יש ברשותו הקצאה של תת-רשת. המחשבים, באמצעות מנגנון יקחו את המידע הזה ואת תת-הרשת הזאת(שנקראית גם קידומת רשת), יוסיפו לקידומת הזאת מספרים נוספים כך שתווצר כתובת IPv6 באורך של 128 ביט. לאחר מכן, המכשיר יבדוק כי אף אחד ברשת(במקרה נדיר מאוד) משתמש באותה כתובת ואם לא, הוא יצהיר על השימוש בה כך שהראוטר יוכל לנתב אליו מידע. כל התהליך הזה למעשה אוטומטי, ומבדיקה שנערכה(ולא רק על ידי הכותב) – מדובר בעניין של לחבר את כבל הרשת לנתב(או לרכזת שמחוברת לנתב), ואם הנתב אכן תומך בIPv6 ויש ברשותו הקצאה של תת-רשת, כל התהליך המתואר לעיל יתרחש ללא התערבות של המשתמש. גם בIPv4, ראוי לציין, אין צורך להתערב בתהליך קבלת הIP הפנימי משרת הDHCP ברוב הפעמים, אך ישנם מקרים אשר יש התנגשות מסויימת בין כתובות וכדומה, ואז נדרשת התערבות של המשתמש.
כמו כן, כמות הכתובות שניתן לחלק ברשת הפנימית עם IPv4 הרבה יותר קטן מכמות הכתובות(תלוי בגודל התת רשת הפנימית, לרוב מדובר בתתי רשת בגדלים של 254 כתובות עד 16 מיליון כתובות, תלוי בטווח הכתובות הפנימיות – מידע נוסף כאן) מתת רשת בגודל /64 בIPv6 מספקת למכשירים ברשת.

סגירת תפריט