DNS — פרוטוקול שמתרגם כתובות; החליף ב-1983 קובץ-טקסט שעודכן ידנית

יסודות דיגיטליים

הגדרה

DNS (מערכת שמות מתחם) הוא הפרוטוקול שמתרגם כתובות-אתרים קריאות-לאדם, כמו gonenyarom.co.il, לכתובות-IP מספריות שמחשבים משתמשים בהן בפועל כדי להתחבר זה לזה.

מה DNS פותר: "ספר-הטלפונים" המבוזר של האינטרנט

DNS (Domain Name System) הוא הפרוטוקול שמתרגם כתובת-אתר קריאה, כמו gonenyarom.co.il, לכתובת-IP מספרית שהמחשבים באמת מתקשרים דרכה — תהליך שקורה ברקע תוך אלפיות-שנייה. בלי DNS, כל משתמש היה צריך לזכור מחרוזות-מספרים ארוכות במקום שמות הגיוניים, וכל שינוי בכתובת-IP של שרת היה מחייב עדכון-ידני אצל כל מי שרוצה להגיע אליו. בפועל, טעינת דף-אינטרנט בודד עשויה להפעיל עשרות שאילתות-DNS נפרדות בו-זמנית — לדף עצמו, ולכל אחד ממשאבי-המשנה שלו שמתארחים בדומיינים חיצוניים אחרים.

1983: פול מוקפטריס, אוניברסיטת דרום-קליפורניה, והחלפת HOSTS.TXT

פול מוקפטריס תכנן את DNS ב-1983 באוניברסיטת דרום-קליפורניה, כתחליף לשיטה שקדמה לו: קובץ-טקסט מרכזי בשם HOSTS.TXT, שמכון-המחקר סטנפורד (SRI) עדכן ידנית והפיץ לכל מחשבי-הרשת, תחת ניהולה של אליזבת פיינלר וצוותה — שניהלו את מרשם-השמות המרכזי הזה כבר משנת 1972. ככל שהאינטרנט המוקדם (ARPANET) גדל, שיטת-הקובץ-המרכזי-היחיד הפכה איטית ובלתי-ניתנת-להרחבה, ונדרשה מערכת מבוזרת חדשה.

מ-RFC 882/883 (1983) ל-RFC 1034/1035 (1987): התקן שעדיין בתוקף היום

המפרט המקורי של DNS פורסם ב-RFC 882 ו-883 בנובמבר 1983. ארבע שנים מאוחר יותר, בנובמבר 1987, הוא הוחלף בגרסה המעודכנת שעדיין בתוקף כמעט ללא-שינוי היום — RFC 1034 ו-1035 — שהוסיפו דיוק ובהירות למפרט המקורי בלי לשנות את העקרונות הבסיסיים שלו.

איך זה עובד בפועל: שרתי-שורש, TLD, ופותר רקורסיבי

מבנה DNS הוא עץ-היררכי: בראשו יושבים שרתי-שורש (Root Servers) — 13 קבוצות-שרתים בלבד, המוכפלות פיזית ברחבי העולם — שמפנים כל בקשה לשרתי-הדומיין-העליון המתאימים (TLD, כמו il. או com.), ואלה מפנים הלאה לשרת-השם-הסמכותי של הדומיין הספציפי. פותר רקורסיבי (Recursive Resolver), לרוב אצל ספק-האינטרנט, מריץ את כל שרשרת-ההפניות הזו בשם המשתמש. סוגי-הרשומות הנפוצים כוללים רשומת-A (כתובת-IPv4), רשומת-MX (שרתי-דוא"ל) ורשומת-CNAME (כינוי לדומיין אחר).

מטמון וזמן-חיים (TTL): למה DNS לא קורס תחת עומס

כדי לא להעמיס על שרתי-השורש בכל בקשה בודדת, כל תשובת-DNS נשמרת זמנית במטמון לפי "זמן-חיים" (TTL) שנקבע מראש עבור כל רשומה — לרוב בין כמה דקות לכמה ימים, בהתאם לכמה תכופות צפויות הכתובת להשתנות. מנגנון-המטמון הזה הוא הסיבה שרוב שאילתות-DNS בפועל אף פעם לא מגיעות עד לשרת-שורש.

כשה-DNS עצמו הופך למטרה: מתקפת Dyn ב-2016, והצפנה עם DoH/DoT

תשתית ה-DNS עצמה הפכה יעד-תקיפה מוכר: מתקפת-מניעת-שירות מבוזרת (DDoS) על ספק-DNS גדול, כמו זו שפגעה בחברת Dyn ב-2016, יכולה להפיל בבת-אחת אתרים גדולים שתלויים בו בלי שהם עצמם הותקפו ישירות. בתגובה לחששות-פרטיות, תוספים מודרניים כמו DoH ו-DoT מצפינים את שאילתות-ה-DNS, ותקן DNSSEC מוסיף חתימה קריפטוגרפית שמונעת מתקפות-זיוף-תשובה.

שאלות נפוצות ❓

מי המציא את DNS ומתי?

פול מוקפטריס, ב-1983 באוניברסיטת דרום-קליפורניה — כתחליף לקובץ-טקסט מרכזי (HOSTS.TXT) שהפך בלתי-ניתן-להרחבה עם צמיחת האינטרנט המוקדם.

מה ההבדל בין DNS לדומיין?

DNS הוא הפרוטוקול והתשתית שמתרגמים שמות לכתובות-IP; דומיין הוא הכתובת הקריאה-לאדם עצמה (כמו gonenyarom.co.il) שנרשמת ומתורגמת דרך המערכת הזו.

למה יש רק 13 קבוצות שרתי-שורש?

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

האם DNS מוצפן כברירת-מחדל?

באופן מסורתי לא — שאילתות-DNS רגילות עוברות בטקסט-גלוי. תוספים מודרניים כמו DNS-over-HTTPS (DoH) ו-DNS-over-TLS (DoT) מצפינים את השאילתות; DNSSEC נפרד מזה — הוא מונע זיוף-תשובה, אך לא מצפין את התוכן.