IPv6

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
סיווג פרוטוקולים על פי מודל ה-OSI
שכבת יישום HTTP, SMTP, FTP, RTP, IRC, SNMP, SIP, DNS, DHCP
שכבת ייצוג MIME, ASCII, Unicode, SSL
שכבת שיחה ASP, PPTP, SSH, NFS, RPC, SOCKS
שכבת תעבורה TCP, UDP, SCTP, DCCP
שכבת רשת IP (IPv4, IPv6), ICMP, IPX , ניתוב
שכבת קו Ethernet, Token ring, FDDI
שכבה פיזית E1, 10Base-T, RS-232, DSL, SONET

Internet Protocol version 6, או IPv6, הוא פרוטוקול בשכבת הרשת המשמש להעברת נתונים ברשתות מבוססות מיתוג מנות, ובמיוחד ברשת האינטרנט. גרסה 6 של פרוטוקול ה-IP היא הגרסה העוקבת לגרסה 4 של הפרוטוקול (IPv4) (הגרסה השלישית מהגרסה הראשונית המתוארת ב-RFC 675). המספר שהיה מיועד לגרסה 5 ניתן לפרוטוקול הרשת הניסיוני ST-2 שמתואר ב־RFC 1819 והיה אמור לפעול במקביל לפרוטוקול IP . פרוטוקול ה-IPv6 פותח במקור על ידי סטיב דירינג וקרייג מאדג' (Craig Mudge) במרכז המחקר זירוקס פארק, ואומץ כתקן על ידי ה-IETF בשנת 1994.

הידלדלות מאגר כתובות IPv4[עריכת קוד מקור | עריכה]

פרוטוקולים במודל TCP/IP
שכבת יישום
HTTP, SMTP, FTP, DNS, DHCP, SSH, RTP, RTSP, IRC, SNMP, SIP, IMAP4, MIME, TELNET, RPC, SOAP, LDAP ...
שכבת תעבורה
TCP, UDP, SCTP, DCCP ...
שכבת רשת
IP, IPv4, IPv6, ICMP, ARP, IPX, IGMP ...
שכבת קשר
Ethernet, 10BASE-T, 802.11 WiFi, Token ring, FDDI ...

כתובת IP ב-IPv4 בנויה מ-32 סיביות, המאפשרת באופן תאורטי 4,228,250,625 כתובות שונות, אך באופן מעשי המספר קטן יותר. אמנם מנגנון Classless Inter-Domain Routing (CIDR) שיפר את ניצול הכתובות ב-IPv4, אבל יש טווחים של כתובות שניתנו לארגונים גדולים ולאוניברסיטאות לפני המעבר ל-CIDR (בעיקר מ Class B) ואינם מנוצלים (כמו כן חלק מהטווחים שמורים לכתובות NAT). יותר מכך, גם אם מאגר הכתובות היה מנוצל במלואו לא ניתן היה לתת כתובת ייחודית לכל אחד מ-7 מיליארד האנשים החיים כיום על כדור הארץ, ובוודאי שלא ניתן היה לספק לכל אדם כתובות ייחודיות לטלפון הסלולרי, למחשב בבית, למחשב הנייד (שלא לדבר על מכשירים נוספים כמו רמזורים). השימוש בכתובות פרטיות בטכנולוגיות NAT אמנם הקל על המצוקה בכתובות IP פנויות אל מול הדרישה ההולכת וגוברת לחבר יותר ויותר אנשים על המכשירים שברשותם לרשת האינטרנט, אך בשנת 2011 נראה כי גם אמצעי זה לא מספיק על מנת להתגבר על המחסור בכתובות IPv4 בעולם.

הדיון לגבי הצורך ב-IPv6 החל כבר בימיו הראשונים של הפרוטוקול, ונמצא במוקד תשומת הלב הציבורית אל הפרוטוקול. תרומה מכרעת להבנת הדחיפות במימוש הפרוטוקול נעשתה על ידי טוני היין (Tony Hain) מחברת Cisco וג'ף יוסטון (Geoff Huston) לשעבר המדען הראשי של APNIC (רשם האינטרנט האזורי של אסיה). במשך השנים לא הייתה הסכמה בין שני המומחים לגבי טווח הזמן בו צפוי מאגר הכתובות להתרוקן. בתחילת 2011 עמד מאגר הכתובות הגלובלי של IPv4 אצל רשם האינטרנט הבינלאומי IANA על 2% מגודלו (7 בלוקים של 8/), וב-3 בפברואר באותה השנה הודיע IANA על חלוקת בלוקי הכתובות האחרונים בטקס רשמי במיאמי.‏[1] הקצאת הבלוקים התבצעה בהתאם להחלטת ICANN שכאשר יישארו חמישה בלוקים הם יחולקו מיד לרשמים האזוריים (RIR) והמאגר העולמי יתרוקן.

המשמעות של התרוקנות המאגר הגלובלי היא שמאותו הרגע נאלצו רשמי האינטרנט האזוריים להתנהל בכוחות עצמם עם מלאי הכתובות שנשאר ברשותם. כבר באמצע אפריל של אותה השנה הודיע APNIC כי נותר ברשותו בלוק אחד של כתובות בתת-רשת 8/. בספטמבר 2012 הוציא RIPE (הרשם האזורי של אירופה) הודעה דומה‏[2], ובאפריל 2014, הודיע רשם הכתובות בארצות הברית וקנדה ARIN כי גם הוא הגיע לבלוק האחרון בתת-רשת 8/‏[3]. (את ההתמודדות המוצלחת יחסית של ARIN ניתן לייחס במידה רבה למדיניות הקצאת כתובות חסכנית ובמידה פחותה יותר למעבר של חלק מספקי האינטרנט ל-IPv6‏[4].).

קשה להעריך כמה כתובות נותרו בידי ספקי אינטרנט וחברות מסחריות, אולם ברור כי המחסור בכתובות נעשה מוחשי יותר ויותר ככל שהזמן חולף. כל רשמי האינטרנט האזוריים ממליצים על מעבר ל-IPv6, ומסבירים באתריהם הרשמיים על התרוקנות המאגרים של IPv4. בישראל, שתלויה במאגר החירום של הרשם האירופי RIPE, קיים קושי לקבל כתובות חדשות שכפי הנראה משפיע בעיקר על ספקי האינטרנט הקטנים.‏[5]

מבנה כתובת IPv6[עריכת קוד מקור | עריכה]

דוגמה לייצוג הקסדצימלי (מלא ומקוצר) של כתובת IPv6 ותרגומה לייצוג בינארי

כתובת IPv6 מורכבת מ-128 סיביות: 64 הסיביות הראשונות משמשות לזיהוי תת-הרשת, ו- 64 הסיביות האחרונות משמשות כמזהה ממשק (interface ID). ערכו של מזהה הממשק נקבע על ידי כתובת ה־MAC של כרטיס הרשת. עם זאת, מכיוון שכיום כתובות ה־MAC של רוב ממשקי הרשת הן בפורמט של 48 סיביות יש צורך להמיר אותן לפורמט EUI-64. הערך של תת-הרשת מורכב מקידומת גלובלית (global routing prefix) שיכולה לייצג למשל ספק שירותי אינטרנט ותת רשת שיכולה לייצג רשת של לקוח שמחובר לספק.‏[6]

הייצוג של כתובות IPv6 נעשה בדרך כלל באמצעות סדרה של 8 מספרים בני ארבע ספרות בבסיס הקסדצימלי שמופרדים בנקודתיים וכל אחד מהם מייצג 16 סיביות. לשם קיצור ניתן להשמיט את האפסים המובילים וכן רצף אחד של אפסים. לדוגמה, הכתובת 2001:db8::ff00:42:8329 היא קיצור של הכתובת 2001:0db8:0000:0000:0000:ff00:0042:8329.

מבנה חבילה ב־IPv6[עריכת קוד מקור | עריכה]

Fixed header format
Offsets Octet 0 1 2 3
Octet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Version Traffic Class Flow Label
4 32 Payload Length Next Header Hop Limit
8 64 Source Address
12 96
16 128
20 160
24 192 Destination Address
28 224
32 256
36 288

בניגוד לפרוטוקול IPv4 שם השדות האופציונליים מקודדים בכותר עצמו, השדות האופציונליים ב־IPv6 מקודדים ב"הרחבות כותרים" (extension headers). הרחבות כותרים מאפשרות באופן תאורטי להוסיף אינסוף שדות אופציונליים לחבילה נתונה. לעומת זאת, ב־IPv4 מספר השדות האופציונליים מוגבל על ידי השדה IHL שאורכו 4 סיביות והוא מגדיר את אורך הפתיח ביחידות של 4 bytes (כלומר עד 64 bytes כולל החלק הקבוע של הפתיח או 44 bytes לשדות האופציונליים בלבד).‏[7] המשמעות של ההבדל הזה היא שההשוואה בין הפתיחים של שני הפרוטוקולים היא מורכבת. כמו כן, המבנה השונה של הפתיחים דורש תרגום של הפתיחים בנוסף לכתובות הרשת במעבר של חבילות בין רשת IPv4 לרשת IPv6 ולהיפך באמצעותNAT64.

גרסת הפרוטוקול (version)
בדומה לפרוטוקול IPv4 ארבעת הסיביות הראשונות של הפתיח משמשות לזיהוי גרסת הפרוטוקול. במקרה של פתיח IPv6 יופיע הרצף 0110 שהוא ייצוג בינארי של הספרי 6.
עדיפות (Traffic Class)
שמונה סיביות שמשמשות לניהול של איכות השירות (QoS). מקביל לשדה Differentiated Services Code Point (DSCP) ב־IPv4.
תווית הזרם (Flow Label)
תווית זו נועדה במקור לסימון חבילות ששייכות לאותו רצף (flow) אבל נכון לעכשיו לא ברור מה הייעוד שלה.‏[6]
אורך המטען (Payload Length)
אורך החבילה ללא הפתיח. (ב־IPv6 אורך הפתיח קבוע ולכן אין צורך לציין את אורכו כמו ב־IPv4.)
הפתיח הבא (Next Header)
מציין את סוג האופציה בפתיח ההרחבה של הפתיח הנוכחי (בהתאם לטבלת מספרי IP)
חסם הקפיצות (Hop Limit)
שדה זה מקביל לשדה ה- TTL ב- IPV4 ומציין את המספר המקסימלי של נתבים שחבילה יכולה לעבור לפי שהיא מושלכת (discard).
כתובת מקור (Source address)
הכתובת ממנה נשלחה החבילה (מקביל לתפקיד השדה ב־IPv4)
כתובת יעד (Destination address)
הכתובת אליה מיועדת החבילה (מקביל לתפקיד השדה ב־IPv4)

פרוטוקול IPv6 לעומת IPv4[עריכת קוד מקור | עריכה]

החידוש העיקרי בגרסה 6 הוא הגדלה משמעותית בכמות כתובות ה-IP האפשריות. ב-IPv6 נעשה שימוש ב-128 סיביות, המאפשרות עד 1038×3.4 כתובות שונות, כלומר, עבור כל אחד מ-7 מיליארד בני אדם החיים כיום ניתן לחלק 1028×5 כתובות ייחודיות, מספר עצום כשלעצמו. דוגמה נוספת הממחישה את כמות הכתובות ב-IPv6: אם רובוטים זעירים יכסו את פני כדור הארץ מגובה פני הים ועד לגובה 10 קילומטר (מעל לגובה ההר הגבוה ביותר – האוורסט), נוכל להקצות כתובת ייחודית לכל רובוט, כל עוד הצפיפות שלהם לא תעלה על 278 מיליארד רובוטים למילימטר מעוקב.

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

פישוט פעולות העיבוד בנתבים[עריכת קוד מקור | עריכה]

אחד מהחידושים הנ"ל הוא העברת האחריות לחלוקה (fragmentation) של מנות ה-IP מהנתבים למחשבי הקצה (endhosts).‏[8] בהתאם לפרוטוקול, במידה ונתב מקבל חבילה שגודלה עולה על ה־MTU של הממשק הפיזי דרכו הוא צריך לנתב את החבילה הוא נדרש ל"השליך" (discard) אותה ולשלוח חבילת ICMPv6 בחזרה לכתובת המקור על מנת ליידע את המחשב השולח שהחבילה גדולה מדי לניתוב המבוקש. במקרה שמחשב מקבל הודעה כזו מנתב, האופציות שעומדות לרשותו הן: לחלק את החבילה למספר חבילות קטנות יותר, או לברר מה גודל החבילה המקסימלי שיכול להעביר בניתוב הספציפי באמצעות אלגוריתם Path MTU Discovery, או לחלק את המידע לחבילות של 1280 bytes (ה־MTU המינימלי הנדרש לקישור פיזי ברשת IPv6). מעבר לכך, השדות שמשמשים לניהול של פרגמנטים ב-IPv4 הפכו ממנדטורים לאופציונליים. כך, למרות הרחבת גודלו של שדה הכתובת (32 בתים לשתי הכתובות במקום 8 בתים ב-IPv4) ותוספת שדה חדש (flow label) גדל החלק הקבוע (fixed portion)של כותרת חבילת ה־IP רק במעט (40 בתים ב-IPv6 למול 20 בתים ב-IPv4). שינוי נוסף שנועד לפשט את פעולת הנתבים הוא ויתור על בדיקת checksum. מכיוון שכיום כל הפרוטוקולים בשכבת הקשר כוללים CRC או checksum ניתן היה לוותר על שדה זה למעשה היתרון היחידי של הבדיקה הזו כיום הוא בזיהוי חבילות שהתוכן שלהן במהלך העיבוד שלהן בנתב עקב תקלות בזיכרון וגם יתרון זה הוכח כזניח לאור האמינות הגבוהה של רכיבים אלה בימנו.‏[6].

טווחי כתובות[עריכת קוד מקור | עריכה]

הבדל נוסף בין IPv6 ל-IPv4 הוא השימוש בכתובות מקומיות (Link-local address או APIPA כמו שהם נקראים ביישום של מיקרוסופט לפרוטוקול TCP/IP) במקביל לכתובות גלובליות. בעוד שכתובות מקומיות ב-IPv4 מוקצות באופן עצמאי כאשר לא הוקצו כתובות IP באופן ידני או באופן אוטומטי על ידי שרת DHCP, כתובות אלה הן מנדטוריות ב-IPv6, ויש להן תפקיד בהעברת מידע בין מחשבים באותו מתחם שידור. המנגנון של השמה אוטומטית של כתובות מקומיות נקרא stateless address autoconfiguration והוא משתמש בשילוב של הקידומת של תת-הרשת FE80::/10 עם כתובת ה־MAC של ממשק הרשת כדי ליצור כתובת ייחודית (uniqe address). למרות שכתובת ה־MAC אמורה להבטיח את הייחודיות של הכתובת, הפרוטוקול משתמש ב־Neighbor Discovery Protocol לוודא שאין מחשב נוסף עם אותה הכתובת.

אגב, יש להבדיל בין Link-local address ל־Site-local addresses. האחרונות מקבילות לכתובות פרטיות ב־NAT, ולמרות שהן קיבלו את הטווח FEC0::/10 ב־IPv6 הן נאסרו לשימוש ב־RFC 3879. עם זאת, יש מימושים של הפרוטוקול שעדיין כוללים את טווח הכתובות הנ"ל.‏[9]

כמו כן, פרוטוקול IPv6 מגדיר טווחיי כתובות לכל־נתיב (anycast) ולרב־נתיב (multicast) שאותן ניתן להקצות בנוסף לכתובת המקומית ולכתובת הגלובלית. מנגנונים אלה קיימים גם ב-IPv4 אך הם אופציונליים (עם זאת הם קיימים בהרבה יישומים של הפרוטוקול). בנוסף לכך, ב-IPv6 לא קיים שידור broadcast. ב-IPv4 הכתובת 255.255.255.255 משמשת ככתובת broadcast. כשחבילה נשלחת עם כתובת היעד הנ"ל היא מועברת לשכבת הקישוריות עם כתובת ה־MAC FF:FF:FF:FF:FF:FF, שהיא כתובת ה-broadcast של כל המחשבים במתחם השידור של המחשב השולח. שידור כזה מגדיל את העומס על כל המחשבים ברשת המקומית, ויוצר עומסים גם במקטעי גשרים (bridges או switches) בהם אין צורך אמיתי במידע. יחד עם זאת, כל מחשב ברשת IPv6 מקבל באופן אוטומטי את כתובת ה־multicast ff02::1 כך שחבילה שנשלחת לכתובת זו תגיע לכל המחשבים ברשת המקומית.

אבטחה[עריכת קוד מקור | עריכה]

כחלק מפיתוח פרוטוקול IPv6 הוגדרו מספר מנגנונים שנועדו לתת מענה לאיומי אבטחה שלא היו קיימים בעת הגדרת פרוטוקול IPv4 (כלומר, לפני שרשת האינטרנט נפתחה לציבור הרחב). פרוטוקול IPSec היה מנדטורי עד ל־RFC 4294, אך הוא הפך לאופציונלי בעקבות פיתוח של פרוטוקולים מתחרים כמו Secure Shell ו־SSL. התמיכה ב-IPSec מובנית אל תוך מנגנון ה-Extension Header, ולכן היא מותאמת היטב לפרוטוקול. יש לציין כי IPSec הוגדר כפרוטוקול אופציונלי גם עבור IPv4, אך השימוש בו לא רב ביחס לפרוטוקולים המתחרים. פרוטוקול אבטחה נוסף שפותח עבור IPv6 הוא Secure Neighbor Discovery Protocol. גם הפרוטוקול הזה הוא אופציונלי והוא נועד לענות על איומי אבטחה בפרוטוקול Neighbor Discovery Protocol, אשר דומים לאלה שקיימים בפרוטוקול ARP ב-IPv4.

מערכות התומכות ב-IPv6[עריכת קוד מקור | עריכה]

IPv6 נתמך בצורה מקיפה במספר רב של מערכות.

מערכות הפעלה:

  • לינוקס - IPv6 נתמך באופן מלא מזה מספר גרסאות לאחור, ומותקן ופועל כברירת מחדל כחלק מהליבה. מומלץ להשתמש בגרסה מאוחרת או שווה ל-2.6.
  • Windows XP - תומכת ב-IPv6 מחבילת שירות 2 (service pack 2), אך יש צורך להתקינו באופן ידני.
  • Windows Vista ו-Windows 7 - תומכות ב-IPv6 באופן מובנה, והוא אף מותקן ופעיל בהן כברירת מחדל.

נתבים:

  • סיסקו - IPv6 נתמך מגרסה 12.0.‏[10]

פעילות בישראל[עריכת קוד מקור | עריכה]

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

בשטח זה נראה שונה. בתחילת 2011 עדיין לא הייתה כל פעילות IPv6 בישראל. פורום IPv6 לא היה פעיל, איגוד האינטרנט הישראלי לא עסק כלל בנושא, וגם לא הייתה כל פעילות של משרדי הממשלה בנושא. רק ב-2013, ספק אינטרנט ישראלי אחד, 018, סיפק ללקוחותיו IPv6.‏[11]

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ טקס הקצאת 5 הבלוקים האחרונים של IANA
  2. ^ Iljitsch van Beijnum, "Europe officially runs out of IPv4 addresses",Ars Technica, Sep 14, 2012. accessed May 1, 2014, http://arstechnica.com/information-technology/2012/09/europe-officially-runs-out-of-ipv4-addresses/.
  3. ^ Scott Hogg, "ARIN runs out of IPv4 addresses", Network World, Apr, 23, 2014. accessed May 1, 2014
  4. ^ Lee Schlesinger, "Whatever happened to the IPv4 address crisis?", Network World, Feb 4, 2014. accessed May 1, 2014, http://www.networkworld.com/news/2014/021714-ipv4-278692.html
  5. ^ אבי וייס, "מתקרב שלב הספסרות במספרי IPv4", Telecom News, 30 ביוני 2008
  6. ^ 6.0 6.1 6.2 Olivier Bonaventure, Computer Networking :Principles, Protocols and Practice (The Saylor Foundation, October 30, 2011), http://www.saylor.org/courses/cs402
  7. ^ Randy Appleton, "IP V6 Header," (Course notes for Advanced Networking, Northern Michigan University, Marquette, Mich, May 15, 2014), http://cs.nmu.edu/~randy/Classes/CS442/Notes/IPv6_Header.html.
  8. ^ Olivier Bonaventure, "Should we completely deprecate IP fragmentation ?", accessed May 7, 2014, http://perso.uclouvain.be/olivier.bonaventure/blog/html/2013/06/25/fragmentation.html.
  9. ^ Michael Pietroforte, "IPv6 tutorial – Part 6: Site-local addresses and link-local addresses," 4sysops (blog), March 10, 2011, accessed May 18, 2014, http://4sysops.com/archives/ipv6-tutorial-part-6-site-local-addresses-and-link-local-addresses/.
  10. ^ Cisco IOS IPv6 Feature Mapping: IPv6 Features
  11. ^ פרוטוקול IPv6 באתר חברת 018