אז מה זה בכלל ה-IPv6 הזה??

בכדי להסביר מה זה IPv6 ולמה צריך את זה בכלל, נתחיל ב-מה זה IPv4.
IPv4, כלומר, גרסה 4 של פרוטוקול האינטרנט, פותח בשנות ה-70 של המאה הקודמת, והוכנס כתקן בתחילת שנות ה-80.
כתובת אינטרנט של IPv4 מורכבת מ-32Bits שמורכב מ-4 מספרים עשרוניים בן 0 ל-255.
דוגמאות: 192.168.0.1 ו-8.8.8.8
מבחינה תאורטית, ישנם כ-4 מיליארד כתובות אפשריות (שזה 2 בחזקת 32), אולם עקב החלטות ומגבלות טכניות, כמות הכתובות האפשריות נמוכה בהרבה.
הכתובת מחולקת ל-2 חלקים – חלק הרשת וחלק התחנה, וכך ניתן להבדיל ולבצע ניתוב בן רשתות (ע"י שימוש בנתבים כמובן).
בתחילה הוגדרו 5 מחלקות (Class), ע"מ ליעל ולחלק את הכתובות בן רשתות גדולות יותר וקטנות יותר.
החלוקה בפועל היא לפי הביטים הראשונים מתוך ה-32 ביטים.
כך ש-Class A לדוגמא כוללות את כל הכתובות שמתחילות (צד שמאל) ב-1 עד 126
Loopback שזה כל הכתובות שמתחילות ב-127 (לא רק 127.0.0.1) ואין לא שם Class (אבל שימו לב שכ-16 מיליות כתובות התבזבזו כאן)
Class B כוללות את כל הכתובות שמתחילות ב-128 עד 191
Class C כוללות את כל הכתובות שמתחילות ב-192 עד 223
Class D שמור לMulticast ו-Class E לא בשימוש (ביזבוז של מעל 260 מיליון כתובות, כבר אמרנו?)
גם רשת שמתחילה ב-0 אינה בשימוש, וכן במהלך השנים, נוספו מספר רשתות שאינן מנותבות לאינטרנט ומשתמשות למטרות שונות, כגון רשת 10.0.0.0.
אל מנת ליעל את השימוש בכתובות, בסוף שנות ה-80 הוכנס לשימוש ה-Subnet שמאפשר חלוקה יעילה יותר של רשתות.
עם כל זאת, במהלך השנים הבינו שכמות הכתובות היא מוגבלת מדי וצריך למצא פיתרון.
בשלב הראשון נכנס לשימוש ה-NAT שמאפשר לשימוש ברשתות שמורות, כגון 10.0.0.0 172.16-31.0.0 ו-192.168.0-255.0 וכלפי האינטרנט משתמשים בכתובת "אמיתית" אחת.
פיתרון זה נחל הצלחה רבה ודחה במספר שנים את בעיית הכתובות ה-IP, אבל כאמור זה פתרון זמני.

הגענו ל-IPv6…
בתחילת שנות ה-90 של המאה הקודמת התחילו לעבוד על פרוטוקול חדש שיחליף את ה-IPv4, והוא נכנס לתקן.
אז מה מיוחד בו –
קודם, במקום 32 ביט, הוחלט (לאחר מספר רעיונות שונים, וכמובן שהכל זה פוליטיקה..) על שימוש ב-128 ביט (כלומר מספר עם המון המון המון ספרות)
מבנה הכתובת יהיה מחולק ל-8 מספרים של 4 ספרות בבסיס 16 (הקסדצימלי= 0-9 ו-A-F) שמופרדים בנקודותיים.
מאחר ומדובר במספר ארוך מאוד, בן 32 ספרות (ועוד 8 נקודותיים בניהם), ניתן לקצר את היצוג, ע"י השמטת אפסים (מצד שמאל של כל 4 ספרות), ואף להשתמש בנקודתיים כפולים חד פעמים, אם יש רצף גדול של אפסים.
לדוגמא 1111:2222:0033:0004:5555:6666:7777:8888
תיוצג בקיצור כ 1111:2222:33:4:5555:6666:7777:8888
וכתובת – 1111:0000:0000:0004:5555:6666:7777:0088
תיוצג בקיצור כ 4:5555:6666:7777:88::1111

במקום בשימוש ב-Subnet משתמשים בביטוי Prefix
כל רשת (בפועל לא מדוייק, אבל נתעלם מזה כאן), הינה ב-Prefix 64 (למה? שוב פוליטיקה…)
כלומר 64 ביט מיצג את התת רשת ועוד 64 מיצג את המזהה הממשק (שימו לב שתיאור קצת השתנה)
לדוגמא 2a00:1450:4001:818::/64 זה תצוגה של מבנה רשת
דוגמא לתחנה ברשת הזאת זה 2a00:1450:4001:818::200e/128 (128=תחנה אחת בלבד)

גם ב-IPv6 הביטים הראשונים (צד שמאל) קובעים סוגי רשתות ותפקידם.
לדוגמא, ה-10 ביטים הראשונים הם "1" ואח"כ ה-54 ביטים הבאים הם "0" זה אומר שזה כתובת מקומית, Link Local המוכרת כ-fe80::/64
עקב כמות הכתובות הגדולות, הוחלט, במקור, שאין צורך יותר בשימוש בNAT, וכל device יקבל כתובת "אמיתית" אחת או יותר. אולי במשך השנים נוסף גם ה-NAT לשימוש, אבל בעיקר מטעמי נוחות בחברות גדולות. וזה מוכר כ-ULA כתובות שמתחילות ב-fc00::/7 (בפועל מתחיל ב-fd00)
כתובת גלובלית global כלומר כתובות "אמיתית" שיש לה גישה לאינטרנט כרגע זה כתובות שהם ברשת 3/::2000 כלומר, כתובת שמתחילה ב-2 או 3 למעט כמה רשתות ב-2001 ו-2002 ששמורות למנגנוני המרה מ-IPv4 ל-IPv6 ובחזרה
זוכרים את כתובת ה-loopback ב-IPv4 – 127.0.0.1 שזה בעצם כל רשת 127.0.0.0
ב-IPv6 זה פשוט – ::1

כמובן שההבדל בין IPv4 ל-IPv6 אינו רק במבנה וגודל הכתובות, אלה גם בהרבה דברים בפנים,
לדוגמא, ב-IPv6 יש מנגנות של חלוקת כתובות שלא מצריך שרת DHCP (קיים אבל לא חייב), שנקרא Slaac
גודל של הPacket והמבנה שלו שונה, ועוד דברים רבים אחרים