מדוע ה- Localhost IP 127.0.0.1?

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

תמונה של GMPhoenix; זמין כטפט כאן.

מושב השאלות והתשובות של היום מגיע אלינו באדיבות SuperUser - חלוקה משנה של Stack Exchange, קיבוץ קהילתי של אתרי שאלות ותשובות.

השאלה

קורא SuperUser Roee Adler, סקרן לגבי ברירת המחדל של ה- IP של localhost, הציג בפני הקהילה את השאלה הבאה:

תהיתי מה מקור ההחלטה לקבל  localhostאת כתובת ה- IP  127.0.0.1. מהי "המשמעות" של  127? מהי "המשמעות" של  0.0.1?

מה המשמעות, אכן? אמנם אפשר לחיות את כל הקיום הגיקי שלך בלי לדעת את התשובה לשאלות האלה, אבל אנחנו מוכנים לחפור פנימה.

התשובות

כמה תורמים נרתמו לענות על שאלתו של רועי, כל אחת מהתרומות שלהם מסייעת לשפוך אור רב יותר על האופן שבו 127.0.0.1 הוא המקום שכולנו קוראים לו בית. ג'ון טי כותב:

127 הוא מספר הרשת האחרון בכיתה A עם מסיכת רשת משנה של  255.0.0.0127.0.0.1 היא הכתובת הראשונה שניתנת להקצאה ברשת המשנה. 127.0.0.0 לא ניתן להשתמש מכיוון שזה יהיה מספר החוט. אך שימוש בכל מספר אחר עבור החלק המארח אמור לעבוד בסדר ולחזור לשימוש 127.0.0.1. אתה יכול לנסות את זה בעצמך על ידי פינג  127.1.1.1 אם אתה רוצה. מדוע הם המתינו עד למספר הרשת האחרון שיישם זאת? אני לא חושב שזה מתועד.

Hyperslug עושה קצת ארכיון על ידי חפירה בתזכירים ישנים בנושא:

האזכור המוקדם ביותר שאני יכול למצוא בנוגע למטלה של 127 כ- loopback הוא נובמבר 1986 RFC 990 שחיבר ריינולדס ופוסטל:

יש לפרש את הכתובת אפס כמשמעותה "זה", כמו "רשת זו".

לדוגמה, ניתן לפרש את הכתובת 0.0.0.37 כמשמעותה כמארח 37 ברשת זו.

...

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

כבר בספטמבר 1981 RFC 790, 0 ו- 127 כבר היו שמורים:

000.rrr.rrr.rrr שמור [JBP] ... 127.rrr.rrr.rrr שמור [JBP]

0 ו- 127 היו רשתות Class A היחידות השמורות עד שנת 1981. 0 שימשה להפניית מארח ספציפי, כך שהשאירה 127 לולאבק.

אני יודע שזה לא עונה על השאלה, אבל זה עד כמה שיכולתי לחפור. אולי היה יותר הגיוני לבחור 1.0.0.0 עבור loopback אבל זה כבר ניתן ל- BBN Packet Radio Network.

בעוד שכולנו מכירים ואוהבים את 127.0.0.1 כמארח, כדאי לציין שהוא לא יהיה המארח לנצח. 127.0.0.1 הוא האופן שבו ה- localhost מיועד בתקשורת IPv4, וככל ש- IPv6 משתלט לאט לאט, הוא יוגדר על ידי מספר הרבה יותר אינטואיטיבי: 0: 0: 0: 0: 0: 0: 0: 1.

יש לך מה להוסיף להסבר? נשמע בתגובות. רוצה לקרוא תשובות נוספות ממשתמשים אחרים של Stack Exchange המתמצאים בטכנולוגיה? עיין כאן בשרשור הדיונים המלאים.