לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > חומרה ורשתות
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #2  
ישן 02-03-2012, 01:29
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,778
בתגובה להודעה מספר 1 שנכתבה על ידי ShitHead שמתחילה ב "DNS - שכבת תעבורה"

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

בקשה נשלחת ב UDP. אם התשובה חוזרת, והיא קצרה מ 512 בתים, הכל בסדר. אם היא חוזרת, ומסומן בתשובה דגל שההודעה עברה קיצוץ (truncated), ול resolver איכפת שזה קרה, הוא ישלח שאילתא חדשה, הפעם ב TCP.

למה שהתשובה תהיה גדולה? כי DNS לא תמיד מחזיר IP אחד... דוגמא:
$ host 2012.uploaded.fresh.co.il
2012.uploaded.fresh.co.il is an alias for d1amxdpigbn6iz.cloudfront.net.
d1amxdpigbn6iz.cloudfront.net is an alias for d1amxdpigbn6iz.ams1.cloudfront.net.
d1amxdpigbn6iz.ams1.cloudfront.net has address 216.137.59.77
d1amxdpigbn6iz.ams1.cloudfront.net has address 216.137.59.18
d1amxdpigbn6iz.ams1.cloudfront.net has address 216.137.59.151
d1amxdpigbn6iz.ams1.cloudfront.net has address 216.137.59.218
d1amxdpigbn6iz.ams1.cloudfront.net has address 216.137.59.225
d1amxdpigbn6iz.ams1.cloudfront.net has address 216.137.59.47
d1amxdpigbn6iz.ams1.cloudfront.net has address 216.137.59.59
d1amxdpigbn6iz.ams1.cloudfront.net has address 216.137.59.219

וכמובן יכולות להיות תשובות גדולות יותר.

ישנם דברים שמטבעם יהיו גדולים יותר מ 512 בתים, אפילו אם הבקשה מאוד קצרה. לדוגמא: Zone Transfers...

למה 512 בתים? כי פעם חיבורים היו עם MTU מאוד נמוך (תחשוב מודמים אנלוגיים, איבוד פאקט בודד בזמנו היה יקר מאוד, ובהינתן קצב שגיאות קבוע, ככל שפאקט גדול יותר, הסיכוי שהוא יידפק - עולה - ואז זה היה "יקר"), ואני משער שאף אחד פשוט לא רצה להתעסק עם זה. מאז, התקדמנו, היום ה MTU הממוצע הוא לפחות 1400, ולכן נוצרה הרחבה שנקראת EDNS0 כדי לאפשר דברים כאלה. אם זה ממש מעניין אותך: http://www.ietf.org/rfc/rfc2671.txt

הסיבה לשימוש ב UDP היא שזה אדיוטי להשתמש ב TCP למשהו כמו שאילתת DNS. בסך הכל מדובר בפרוטוקול שהוא "שאלה קצרה"->"תשובה קצרה" - שאחריו התקשורת בין הצדדים מסתיימת. כל השאלה, וכל התשובה, נמצאות בפאקט אחד (בדרך כלל... עיין למעלה), ולכן להריץ עוד איזה 6-7 פאקטים (ואולי יותר, אם יש איבודים), תוך בזבוז זמן להמתנה שכל צד יגיב, בכל פעם שמחשב כלשהוא מחפש כתובת של מחשב אחר [ולא תאמין כמה זה קורה...], הוא רעיון פשוט לא הגיוני. אני משער שאפשר לקרוא לזה overhead, אבל לדעתי זה ב"רמה" גבוהה יותר: לפני שאנחנו מדברים בכלל על overhead ועל הסיבוכיות שבניהול TCP, אנחנו צריכים לחשוב משהו אחר: למה מלכתחילה בכלל לחשוב להעביר את זה על TCP? זה הרי יותר מסובך...

ישנם חסרונות נוספים לעבודה ב TCP, בין השאר בגלל יכולות "fire & forget" שאפשר לעשות ב UDP לכמה יעדים, אלמנטים כמו anycast/multicast, ועוד שלל סיבות, שבגלל כולן, טוב שבחרו ש DNS יעבוד ב UDP
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 11:22

הדף נוצר ב 0.03 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר