הסבר על IPv6
IPv4 הוא הגרסה הרביעית של Internet Protocol והומצא אי שם ב 1980 והוא משמש את רוב התעבורה בעולם חוץ מסין שקידמה את נושא ה IPv6 אל תחומה
ובכן, למה להשתמש ב IPv6, מה רע בIPv4 ?
שום דבר לא רע ב IPv4 אלא שכמות הכתובות בעולם שIPv4 יכול לספק הולך ומדלדל ומגיע למצב שאין כבר כתובות פנויות בעולם, אז מה עשו? המציאו את ה IPv6 שכן אנחנו עוברים מ 32Bit ל 128Bit ובכך מגדילים את טווח הכתובות בכמות עצומה שהסיכויים שתגמר היא כמעט אפסית
סתם לשם השוואה, יש לנו 4,294,967,296 כתובות ב IPv4, עכשיו קחו נשימה, בIPv6 יש לנו 340,282,366,920,938,463,463,374,607,431,768,211,456 כתובות או בעברית שזה 1036
ובעברית 340…….. סקסטיליון.
הוא בנוי מ 128Bit מה שאומר שהוא נראה בערך כך: XXXX.XXXX.XXXX.XXXX.XXXX.XXXX.XXXX.XXXX
2001:0cb7:0a0b:11f0:0000:0000:0000:0001
אז מה הייתרונות של IPv6 לעומת IPv4
ב IPv4 יש 12 תאים בתוך ה Header כאשר לIPv6 יש רק 5, מה שמקטין את גודל ה Header
אין לו שימוש ב Broadcast ואין Fragmentation וכך ה MTU מתגלה בזמן ה Session
ניתן אפילו להפעיל IPv4 ו IPv6 ביחד על ידי פרוטוקולים תומכים
הוא נכתב בערכי Hexadecimal וכל 4 Bits מיוצגים כתו בודד ב Hexadecimal בס"כ 32 ערכי Hexadecimal ש32*4 שווה ל128 ביט
ניתן לראות בתרשים את צורת הכתיבה של IPv6 ואילו בתוך כל X שהוא Hexadecimal אחד בלבד ישנם 4 ביטים מ0 עד 1 ואילו Hexadecimal הוא מ0 עד F חשוב לזכור שבIPv4 זה Octet (אוקטטה) ואילו ב IPv6 זה Hextet (הקסהטט)
על מנת לחשב בינארי לdecimal ואז לHexadecimal אפשר להשתמש בטבלה הבאה:
ניתן לכתוב IPv6 עם Prefix כמו IPv4 אבל הצורה כאן קצת שונה, אמרנו שIPv6 בנוי מ128Bits אז ניתן לצמצם את הכתובת על ידי ה Prefix בחצי כך ש64Bits יוצגו והחלק השני של 64Bits לא יוצג, כך זה נראה:
כתובת שנכתבת כך: 2001:0DC8:000A:0000:0000:0000:0000:0000 ניתן לצמצם את כל האפסים:
2001:DC8:A::/64
בצורה כזו 64 Bits בהתחלה הם ה Hosts ואילו ה 64 Bits בסוף הם ה Network
כל הזכויות שמורות לטל בן שושן – Shushan.co.il
חוקים
- אפסים ברצף, ניתן לצמצם
- אם יש רק אפסים מצד שמאל, ניתן לצמצם אותם (זאת אומרת אפסים בהמשך), לדוגמה אם יש לי את הכתובת 0:0:0:0:0:0:0:1 אני יכול לצמצם אותה על ידי 1:: פעמים נקודותיים או באנגלית Double Colon
למשל אם נסתכל על הכתובת הזו 2001:0cb7:0a0b:11f0:0000:0000:0000:0000 נוכל לראות שיש הרבה אפסים, (סימנתי לכם באדום) אז מה עושים? מצמצמים כך:
2001:0cb7:0a0b:11f0::1 , מעולה!
דוגמה נוספת 2220:0000:0000:0000:1454:0000:0000:00BF התוצאה תיהיה
2220::1454:0:0:BF
סוגי IPv6
Unicast Address
Loopback – כתובת המשתמש עצמו זאת אומרת כאשר נשלח הודעה לכתובת זו, ההודעה תחזור אלינו ובהשוואה ל IPv4 זו הכתובת 127.0.0.1 את הכתובת כותבים כך 1::
Broadcast – אין Broadcast ב IPv6 אבל יש IPv6 all-Nodes Multicast Address שנותן את אותה התוצאה של Broadcast
Link Local – כתובת שיכולה לתקשר רק באותה הרשת בה היא נמצאת ומתחילה ב 10/::FE80 לדוגמה כתובת תקינה היא 1::FE80 ואינה יכולה להיות מנותבת אפשר לומה שהוא דומה ל APIPA שאנו מקבלים אוטומטית כאשר אין כתובת IP מוגדרת במחשב.
הקטע ב Link Local שכאשר הוא לא מוגדר ידנית אז המחשב מקצה כתובת כזו למחשב באופן אוטומטי ללא הצורך בDHCP ואפילו אם אין לו כתובת Global Unicast וכך מחשבים באותה הרשת יכולים לדבר ללא DHCP נוסף על כך הוא יכול לתקשר גם עם ה Default gateway של הראוטר כי גם לפורט בראוטר יש כתובת שהיא Link Local Address ואם יש פרוטוקולי ניתוב שעובדים הראוטרים יכולים לפרסם את טבלאות הניתוב שלהם דרך כתובות ה Link Local שלהם .
Unique Local – דוגמה לכתובות הפנימיות של IPv4 u מתחיל עם FC00 כתובת לדוגמה היא 1::FC00 והיא אינה יכולה להיות מנותבת ברשת העולמית והניתוב היחידי הוא בין אתרים מוגדרים מראש
Global Unicast – הוא ניתן לניתוב בעולם (כתובת חיצונית) (דומה ל IPv4 Public Address) והוא מחולק ל3 חלקים:
Global Routing Prefix – הוא Prefix שמחולק על ידי הספקית ISP והכתובת נראית כך, ה Prefix הכי נפוץ המגיע מהספקית הוא \48
Global Routing Prefix (48Bits) + Subnet ID (16 Bits) + Interface ID (64Bits)
כתובת לדוגמה עם Prefix של 48 הוא 2001:0DC8:ACAD::/48
Interface ID – הוא דומה ל IPv4 Hosts שכן הוא מסמל את הרשת (ניתן לראות למעלה שה Interface ID בנוי מ 64Bits)
Subnet ID – משתמשים בו בארגון על מנת לזהות את הרשתות.
Unspecified – כתובת שלא הוגדרה ונכתבת כך ::
Solicited Node Multicast – בודק שאין כתובת דומה ברשת ומשמש למשלוח של ARP
MultiCast – מתחיל עם FF בתחילת כתובתו והוא מאפיין קבוצה של מחשבים
לדוגמה ניקח את שני המחשבים למעלה
4::2001 ו 5::2001 נמצאים בכתובת Multicast שהיא FF06::6 וכך כאשר מחשב ישלח הודעה לקבוצה זו (הוא ישלח לכתובת FF05::6) שני המחשבים יקבלו את המידע
אבל! יש ל Multicast חוקים נוספים אחרי ה FF מגיע 0 ואז מספר לאותו מספר יש חוקים למשל FF02 אומר שמידע שנשלח לFF02 חייב להיות ברשת הלוקאלית שכן אינו מבצע ניתוב או FF01 שהוא Loopback Address
ניתן לראות את הטבלה המלאה בוויקיפדיה כאן
Auto Configuration הגדרה אוטומטית של כתובות IPv6
כמו ב IPv4 שיש לנו DHCP, גם ב IPv6 יש לנו אפשרות להגדיר חלוקה של כתובות IP ב IPv6
2 מצבים יש לנו
Stateful – שרת השולח את הכתובת בדומה לDHCP רק שכאן הוא עובד קצת שונה,
המשתמש שולח הודעת Multicast ל FF02::1:2 שזו קבוצת הMulticast של כל שרתי הDHCP האפשריים כולל DHCP Relay Agent ומבקש ברשת, האם יש שרת DHCP IPv6 ברשת?!
אם מצא שרת כזה השרת ישלח "פירסום" בכתובת FE80::1 (לדוגמה) לאותו מחשב, לאחר מכן המחשב יבקש כתובת על ידי בקשה "Request" ואז השרת יגיב לו במתן כתובת
Stateless – המשתמשים יקבלו את כתובת ה IP שלהם מראוטר על ידי שילוב של כתובת ה MAC Address
אך זה מבוצע? המחשב שולח הודעה לכתובת ה FF02::1:2 (כל ה DHCP) כאשר הSource (אותו מחשב) מבצע זאת מכתובת ה Unspecified שהיא :: , וכאשר אין תגובה הוא ישלח ל FF02::2 שהם כתובות כל הראוטרים ושם הוא כנראה יקבל תגובה והתגובה תיהיה כמובן "פרסום" של הראוטר שהוא יכול לספק לו כתובת.
1 comment
הי טל,
רציתי לדעת האם בגלל שלIPv6 אין BroadCast הוא לא משתמש בArp?
תודה רבה!