Domain Name System – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
ביטול גרסה 25650564 של 2A01:6500:A043:F388:A571:7359:1D42:531E (שיחה)
החלפת הדף בתוכן "מאיר לוקח מפה דברים וחושב שהוא האקר <br /> קטגוריה:פרוטוקולי אינטרנט קטגוריה:כתובות רשת"
שורה 1:
מאיר לוקח מפה דברים וחושב שהוא האקר
{{OSI}}
{{Tcp/ip}}
'''Domain Name System''' (ב[[ראשי תיבות]]: '''DNS''') הוא [[פרוטוקול תקשורת|פרוטוקול]] המאפשר גישה ל[[בסיס נתונים]] מבוזר, על מנת שיחידות קצה ברשת האינטרנט יוכלו לתרגם [[שם תחום|שמות תחום]] (Domain name) הנוחים יותר לשימוש אנושי טבעי (ה-[[URL]]) לכתובות הנומריות האמיתיות ([[כתובת IP|כתובות IP]]) אליהן הן יפנו בזמן ההתקשרות. באמצעות ה-DNS ניתן להציע שירותים מבוססי שם נוספים, כגון רישום של שרתי דואר.
 
פרוטוקול ה-DNS הומצא על מנת להקל את השימוש של אנשים ברשתות תקשורת. בני אדם זוכרים בקלות שמות, אך לא כתובות מספריות דוגמת כתובות IP. ה-DNS מגשר על הפער הזה על ידי ביצוע המרה בין הכתובת המילולית, אותה זוכר המשתמש, לבין כתובת ה-IP בה למעשה משתמש המחשב על-מנת לתקשר עם היעד.
 
==הסבר פשוט==
DNS הוא פרוטוקול המאפשר תרגום [[שם תחום|שמות תחום]], המכונים לרוב בשמם הלועזי Domains, ל[[כתובת IP|כתובות IP]]. שירות זה מאפשר למשתמשי האינטרנט האנושיים לפנות לכתובות אינטרנט בקלות, לדוגמה בזמן גלישה בדפדפן האינטרנט אל אתר מסוים, בלי שיידרשו לזכור כתובת מספרית. לרוב, מתארים שירות זה בפשטות כ[[ספר טלפונים]] המתרגם בין שם תחום לבין כתובתו המספרית, אולם שירותי ה־DNS מורכבים אף יותר, כיוון שמאגר הכתובות מבוזר. ביזור זה ממומש על ידי כך שחלקים קטנים יחסית של מאגר הכתובות העולמי מפוזרים במחשבים רבים, המכונים שרתי DNS, בצורה היררכית. כך ניתן להבטיח כי הגישה אליהם ותגובתם תהיה מהירה.
 
== אופן פעולת הפרוטוקול ==
[[קובץ:Domain name space.svg|שמאל|ממוזער|250px|איור הממחיש את אופן פעולת הפרוטוקול]]
DNS היא שיטת רישום שמות היררכית. לכל שרת יש רשומות (resource records) אשר מאפשרות לו לטפל בבקשות לגבי תחום שמות מסוים. רשומות אלה מחלקות את התחום עליו הוא אחראי לאזורים (zones). השרת יודע להפנות את הפונים אליו לשרתים אשר אחראיים על האזורים הללו. התהליך של בירור לגבי שם תחום מסוים נעשה על ידי פנייה לשרת, קבלת הפנייה לשרת אשר ככל הנראה יוכל לספק את התשובה (או לפחות לקרב אותנו לשרת אשר ידע להשיב), וכן הלאה. התהליך מסתיים כאשר מתקבלת תשובה מדויקת משרת אשר אחראי לשם התחום המבוקש, או משרת אשר אינו אחראי אבל [[זיכרון מטמון|זיכרון המטמון]] שלו מכיל את התשובה. תהליך בירור זה נקרא תהליך איטרטיבי, והוא מתבצע בעיקר על ידי שרתים אשר שייכים לספקי אינטרנט. מחשבים אישיים בדרך כלל לא ידעו לבצע אותו, אלא רק לפנות לשרת של ספק האינטרנט על מנת שיבצע אותו עבורם. פנייה כזו נקראת פנייה רקורסיבית.
 
בראש ההיררכיה האינטרנטית נמצאים שרתים המכונים "רמת השורש" (root servers). שרתים אלה מסוגלים להפנות את המבקש לשרתים הרלוונטיים עבור כל כתובת אשר הוא יבקש. השרתים ברמה הבאה אחראיים על שמות תחום מהרמה העליונה (Top level domains), כלומר כל שמות התחום אשר משתמשים ב[[סיומת אינטרנט]] מסוימת. למשל, שאילתה לשרת מרמת השורש לגבי www.mywebsite.co.'''il''' תופנה לשרת אשר אחראי על כלל שמות התחום הישראליים. שרת זה יוכל להפנות לשרת ברמה השנייה - www.mywebsite.'''co'''.il, כלומר השרת שאחראי על כתובות של אתרים מסחריים בישראל. שרת זה יטפל בחלק השלישי של הכתובת - www.'''mywebsite'''.co.il ויפנה את הבקשה לשרת ה"מארח" (host) של mywebsite, שיבדוק וימצא שהמשתמש מעוניין בכתובת ה-IP של שרת האינטרנט ('''www'''.mywebsite.co.il) ויספק את הכתובת המבוקשת.
 
פרוטוקול ה-DNS עובר מעל הפרוטוקולים [[TCP]] ו-[[UDP]] ב[[פורט (תקשורת)|פורט]] 53, כאשר ברוב המקרים ההתקשרות תסתכם בחבילת UDP בודדת אשר תכיל את השאלה וחבילה נוספת אשר תכיל את התשובה.
 
=== שימוש במחשבים אישיים ===
באופן כללי, במחשבים אישיים פרוטוקול ה-DNS מוסתר מהמשתמש, אשר לא צריך לעשות בקשות בעצמו. כאשר הדפדפן או תוכנת הדואר, לדוגמה, מבקשים לגשת לאתר מסוים או לשלוח דואר לכתובת מסוימת, הם ייגשו לשירות שמספקת [[מערכת הפעלה|מערכת ההפעלה]], ויבקשו ממנו שיברר עבורם מהי כתובת ה-IP אשר שייכת לשם התחום המבוקש. שירות זה בדרך כלל ינהל זיכרון מטמון משל עצמו, ובמקרה שהכתובת הרצויה לא תימצא במטמון זה, הוא ישלח בקשה מתאימה לשרת ה-DNS אשר מוגדר לו.
 
=== זמן חיים של תשובה ===
לכל תשובה אשר מספק שרת מסוים מוצמד ערך זמן חיים (TTL - Time To Live). ערך זה קובע כמה זמן מותר למבקש הבקשה לשמור את התשובה בזיכרון המטמון שלו. מנגנון זה נועד להפחית את העומס על שרתי DNS, והוא מאפשר לחסוך מצבים שבהם נעשות בקשות רבות לגבי אותו שם התחום על ידי שרת בודד, כאשר אין שינוי בתשובה. כאשר יפוג זמן החיים של התשובה, ייאלץ המבקש לשאול את השרת פעם נוספת לגבי השם המבוקש.
עם זאת לא ניתן לדרוש מהשרת אם כבר יש ברשותכם רשומה בזיכרון של המחשב.
 
== שירותי DNS נוספים ==
בנוסף לתרגום שמות מתחם לכתובות IP, מספקים שירותי ה־DNS מידע נוסף על הדומיין הקיים, כמו שרתי הדואר של הדומיין, היכן ממוקמים שרתי ה־DNS של אותו מתחם ועוד. כמו כן מספקים שירותי ה־DNS מידע על שם המתחם הקשור בכתובת IP מסוימת. כך שרת ה־DNS משמש כ"ספק מודיעין" עבור מתחם.
קיים שרת DNS הניתן למימוש גם בשכבת התעבורה.
 
== סוגי רשומות DNS ==
לכל בקשה או תשובה לשאילתת DNS יש טיפוס אשר מגדיר מה היא בעצם מכילה. כמו כן, השרת אשר שלח את התשובה מגדיר עבורה גם TTL‏ (Time to live) שהוא הזמן המקסימלי שלמקבל התשובה מותר לשמור אותה במטמון שלו ולהניח שהיא נכונה.
 
* A - רשומה זו היא כתובת [[IPv4]] ('''A'''ddress) המשויכת לשם דומיין מסוים.
* AAAA - בדומה לטיפוס A, רשומה זו היא כתובת [[IPv6]].
* NS - רשומה אשר מציינת שרת אשר משמש כאחראי למסירת מידע על הדומיין המבוקש.
* PTR - רשומה זו מכילה דומיין אשר משויכת לו כתובת IP מסוימת (על מנת ששרת ה-DNS יוכל לחפש דומיינים על פי כתובות IP).
* MX - מכילה את כתובתו של השרת המשמש את הדומיין לקבלה של [[דואר אלקטרוני]].
* CNAME‏ - "Canonical name", שם נוסף לאותו הדומיין.
* TXT - רשומה זו מאפשרת לצרף לכתובת ה-IP של הדומיין גם טקסט חופשי (משמשת למימוש שירותים שונים הקשורים בדומיין, כגון [[DomainKeys]]).
* [[Sender Policy Framework|SPF]] - סוג מיוחד של רשומת TXT המציינת את שמות ה־hosts מהם מותר למסור מייל בשם אותו דומיין.
* Start Of Authority - SOA - הרשומה אשר מצביעה על הימצאותו של ה־ ZONE.
* ANY
 
== Zone Transfer ==
זהו אחד ממנגנוני שכפול המידע ב-DNS בין שרת DNS ראשי לשרתי DNS משניים. העברת המידע יכולה להתבצע בשני אופנים: full ו–incremental. במהלך הזמן, משתמשים פחות ופחות במנגנון זה.
 
Zone Transfer פועל מעל שכבת ה–[[TCP]] על מנת להבטיח את שלמות המידע המועבר. מחשב ה–client, מבקש את מידע ה–DNS משרת ה–master, והוא שולח לו את המידע של אותו zone אליו שייך אותו client. ה–client יודע האם לעדכן את המידע שנמצא אצלו עם המידע החדש שהגיע מה– master על פי בדיקת מספר סידורי שנשלח מה–master אל מול המספר שכתוב ב-client.
הפקודה שמבקשת לבצע את השכפול המלא נקראת AXFR וזו שבעזרתה מבצעים את השכפול החלקי (רק של החלקים שהתעדכנו מאז השכפול האחרון) נקראת IXFR.
 
== חולשות המערכת ==
החולשה העיקרית של המערכת היא בכך שמצד אחד היא מהווה תשתית קריטית ב[[תקשורת מחשבים]] הן ברמת פנים הארגון והן ברמת האינטרנט כולו; ומצד שני הפרוטוקול כמעט ואינו תומך באבטחה. ההתקפה הנפוצה והיחסית פשוטה היא "הרעלה" והתחזות (spoofing, poisoning) על ידי השתלת ערכים זדוניים לשמות חוקיים. דוגמה לשימוש לרעה יכולה להיות [[דיוג]]: השתלת כתובת של אתר זדוני תחת שם של אתר פופולרי. כך מופנה המשתמש שעושה שימוש ב-DNS ה"מורעל" לאתר אחר, אשר נראה בדיוק כמו האתר המקורי ומוסר את ססמתו שם.
 
המערכת מנוצלת לעיתים על מנת לייעל התקפות מניעת שירות מבוזרת (DDoS) על ידי שליחה של בקשת נתונים לשרת בשם קורּבן ההתקפה.
 
== DNSSEC ==
DNS Security Extensions הוא תוסף להגברת האבטחה. ה-DNSSEC נועד להגן מפני התקפות כמו [[התקפת אדם שבתווך]] או [[הרעלת DNS]]. התוסף בודק את מהימנות המידע ושלמותו.
 
לצורך ביצוע האבטחה התוסף מתקין 4 רשומות:
<div class="mw-content-ltr">
* RRSIG - Resource Record Signature
* DNSKEY - DNS Public Key
* DS - Delegation Signer
* NSEC - Next Secure
</div>
 
== ראו גם ==
* [[קובץ hosts]]
* [[WINS]]
* [[נקודה איי אל]]
* [[:en:List of Internet TLDs|רשימה מלאה של סיומות אינטרנט]]
* [[Link-Local Multicast Name Resolution|LLMNR]]
 
== קישורים חיצוניים ==
{{ויקישיתוף בשורה}}
* {{RFC|1034}} - הסטנדרט אשר מגדיר את עקרונות הפעולה של פרוטוקול ה-DNS.
* {{RFC|1035}} - הסטנדרט אשר מגדיר את יישום הפרוטוקול.
* [http://vlib.eitan.ac.il/tcpip/dns.htm פענוח שמות באינטרנט] קצת היסטוריה, מערכת שמות היררכית, שמות domain באינטרנט, שמות רשמיים ולא רשמיים ועוד.
 
<br />
[[קטגוריה:פרוטוקולי אינטרנט]]
[[קטגוריה:כתובות רשת]]