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

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



  #2  
ישן 11-06-2012, 07:52
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 1 שנכתבה על ידי flaming ice שמתחילה ב "שאלה בנוגע לכתובת IP המופיעה בפקודת tracert"

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

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

נראה שהשואל חושב שמחיקת ההיסטוריה משפיעה על לאן המחשב יפנה. זה... לא נכון. אני משער שהשואל חשב שמחיקת ההסטוריה גם מוחקת את ה resolver cache בחלונות, ולא כך היא (הפקודה ipconfig /flushdns, לעומת זאת, כן). לכן נראה ששואל השאלה מחפש את התשובה "אל ה IP של שרת ה DNS", כדי לברר מה היא כתובת ה IP של www.google.com. כתובת שרת ה DNS היא איננה (או ליתר דיוק: איננה בהכרח), הכתובת שרואים ראשונה ב traceroute (היא עלולה להיות, אם שרת ה DNS המקומי ברשת הוא גם במקרה ה DGW שלה). מה ש traceroute מראה זה את המחשב הראשון שמחזיר הודעת ICMP מסוג TTL Expired כששולחים מעבר אליו פאקט עם שדה TTL השווה ל-1.

שרת ה DNS, בפשטות, יהיה השרת שהוגדר במערכת ההפעלה. ניתן לראות בפקודה ipconfig /all. כמובן שאין תשובה "נכונה" לשאלה הזו, כלומר אין כתובת IP אחת שתהיה נכונה לכולם. בכל רשת יכול להיות שרת DNS אחר, ואין שום בעייה עם זה. למעשה, זה חלק מהקונספט שמאפשר ל DNS להיות פרוטוקול כל כך robust-י, העובדה שאין שרת מרכזי בודד. התשובה המדוייקת ביותר תהיה "שרת ה DNS הראשי שמוגדר במערכת ההפעלה"

כדי להוכיח את זה, ובכן... צריך להריץ sniffer כגון wireshark ולעשות צילומסך או משו כזה. אני לא מצליח לחשוב על הוכחה אחרת. וכמובן שצריך לעשות ipconfig /flushdns קודם לכן, משום שיש סיכוי לא רע ש www.google.com כבר נמצא ב cache של ה resolver של חלונות. אם ה IP כבר ב cache, אזי לא יהיה צורך לפנות ל DNS, וה IP הראשון שהמערכת תפנה אליו, יהיה אחד מה-IP-ים הרבים של מערכות גוגל...

במחשבה נוספת, יש גם פירוש שלישי, שיחזק דווקא את הרעיון שלך בכיוון של traceroute, והוא בעצם לאיזו חומרה המחשב שלך פונה ראשון. במקרה זה, זה באמת יהיה הראוטר שלך... לפי ה MAC שלו. טכנית, ה IP של הראוטר לא יוזכר בפניה הזו, משום שהפאקט יישלח ל IP היעד של שרת ה DNS, עם כתובת ה MAC של הראוטר, אך לא עם כתובת ה IP של הראוטר (כי הראוטר איננו היעד, הוא רק "שליח" בשרשרת). הראוטר יוזכר במקום אחד בלבד - אם לא ידוע ה MAC שלו עדיין, תישלח הודעת ARP בשידור לכל הרשת (broadcast) ותשאל "מי מחזיק את ה IP של [ה DGW שמוגדר במחשב]?", אך זו הודעת שידור ולא פניה למחשב ספציפי.

לסיכום, יש המון תשובות לשאלה הזו, ובהצלחה בלהבין למה התכוון המשורר... ייתכן שהתשובה תלויה בחומר הנלמד. אם זה קורס בסיסי, אני משער, שוב, ש DNS היא התשובה ה"נכונה", למרות שטכנית התהליך יתחיל ב ARP Lookup (בהנחה כמובן שה IP של ה DGW כבר לא נמצא ב ARP Cache, מה שאפשר לבדוק עם הפקודה arp -a)

סיבכתי, אה? :| טוב, אף אחד לא אמר שהקסם הזה שנקרא אינטרנט הוא פשוט מאחורי הקלעים...

נ.ב. ספציפית ל IP ששאלת עליו (שמתחיל ב 10) - מדובר ב IP ברשת פנימית. זה יכול להיות גם ברשת שלך (אך לא סביר אם זו רשת ביתית סטנדרטית בישראל, כי הן בד"כ 10.0.0 בהתחלה, כתובות ברירת מחדל של ראוטרים של בזק, או בכלל 192.168 אם זה ראוטר לא של בזק)), גם ברשת של הוט (אם את בהוט ומחוברת במצב המכונה "MPLS" / "ללא חייגן") וגם ברשת של ספק האינטרנט... אבל כפי שהסברתי לעיל, כנראה שזה לא באמת משנה.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 13-06-2012, 20:59
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 3 שנכתבה על ידי flaming ice שמתחילה ב "ואו תודה על התשובה המפורטת..."

בבקשה... (זאת לקחה קצת יותר זמן. ככה זה שאין לך אינטרנט. ותודה לבזק.)

לא, הבנת לא נכון. כפי שכתבתי, הכתובת הראשונה שאת רואה ב Traceroute היא הכתובת של הראוטר הראשון בדרך אל היעד (באופן כללי; לכן דייקתי וכתבתי לגבי ה TTL Expired, שזה מה ש traceroute מראה; יכולים להיות עוד מחשבים בדרך ולא תראי אותם, זה כבר דיון מעבר לגבולות האשכול הזה...)

ה Wireshark יראה לך את כל תקשורת הרשת, הוא לא יגיד לך למי שייכת הכתובת הזו, ואף אחד לא יוכל להגיד לך את זה. אם זה ה DGW שלך, אז תוכלי להגיד שהיא שלך. אם זה לא, אז כבר קשה מאוד לדעת - ואפשר לדעת יותר על פי סוג החיבור. כך או כך, לדעתי לא זו התשובה שמי ששאל את השאלה מחפש.

כדי להעלות תמונה, בתחתית מסך כתיבת ההודעה ישנו קישור "לחץ כאן להעלאת קובץ"

אני אתאר עכשיו את כל השלבים, מההתחלה עד הסוף, שקורים בהנחה שאין cache-ים בכלל במערכת, וזה אמור להיות זהה לחלוטין למה שתראי ב Wireshark.
  1. גולש מקליד בדפדפן http://www.google.com
  2. הדפדפן לא יודע מה ה IP של www.google.com ולכן הוא מבצע שאילתת DNS מול שרת ה DNS שמוגדר במחשב
    1. שרת ה DNS מבחינת המחשב יכול להיות או מקומי ברשת (אם זה הראוטר, או שרת DNS אחר שיושב ברשת המקומית), או שרת מחוץ לרשת המקומית, למשל בספק האינטרנט.
      1. אם השרת מקומי ברשת (ההחלטה נעשית על ידי פעולות לוגיות כגון XOR על ה IP שלך, על ה netmask שמוגדר במערכת, ועל IP היעד), אזי תתבצע שאילתת "who has" בפרוטוקול ARP על ה IP של שרת ה DNS, בשידור לכל הרשת (Ethernet Broadcast, שזה בעצם לשלוח לכתובת ה MAC המיוחדת FF:FF:FF:FF:FF:FF), כדי לגלות את כתובת ה MAC של כרטיס הרשת של שרת ה DNS.
      2. אם השרת איננו מקומי, אזי המערכת יודעת שצריך לצאת דרך נתב כלשהו כדי להגיע אל הרשת שבה נמצא שרת ה DNS. כדי לדעת דרך איזה נתב צריכים לצאת, מסתכלים בטבלת הניתוב (routing table), שמכילה רשימה של רשתות יעד וה netmask שלהן, והמערכת מחפשת את הטווח המצומצם ביותר שעונה על ה IP שאליו מנסים להתחבר (ואם יש יותר מרשומה אחת כזו, ההחלטה תיפול על פי ערך ה Metric שהוגדר על הרשומות). ברשת ביתית טיפוסית, יש רק ערך אחד בטבלה הזו, והוא ה default gateway (עבור רשת 0.0.0.0 עם netmask גם 0.0.0.0). ניתן לראות בפקודה route print בחלונות או סתם route בלינוקס. (ת'אכלס יהיו שם עוד ערכים, הערכים הנוספים האלה משמשים בין השאר כדי לדעת לאן "לנתב" תעבורה מקומית, ותעבורה מסוג מיוחד כגון Multicast, אבל זה שוב יוצא מהסקופ של ההודעה הזו, שגם ככה ארוכה...). אחרי שהמערכת מחליטה דרך איזה נתב לצאת, היא צריכה לברר מה הכתובת של כרטיס הרשת שלו (MAC), בדיוק באותה הצורה שכתבתי לגבי שרת ה DNS המקומי. (סעיף 2.1.1)
    2. אחרי שסיימנו את שלב 2.1, אנחנו יודעים לאיזה MAC נצטרך לפנות כדי לשלוח את שאילתת ה DNS שלנו, שתתבצע בפרוטוקול הפשוט יחסית, UDP. זה לא משנה אם השרת מקומי או לא מהבחינה הזו, וזה לא ממש מעניין אותנו. אם זה מחוץ לרשת המקומית, ונשלח את זה לנתב שלנו, הוא כבר ידע להעביר את זה הלאה, ומבחינתנו לא ממש משנה איך זה קורה. בהערת אגב, המיפוי הזה, בין כתובת IP, ל MAC התואם לה, יישמר בזכרון המחשב, במה שנקרא ARP Cache, כדי שלא נצטרך לברר את זה שוב ושוב בכל פעם. זה לא נשמר לתמיד (כי כתובות יכולות להשתנות). ניתן להציג את מה שקיים כעת ב ARP Cache באמצעות הפקודה arp -a.
    3. המחשב שולח פאקט UDP עם שאילתת ה DNS הנ"ל אל עבר ה MAC המדובר, כמובן עטופה בכל כותרי ה IP וה Ethernet...
    4. אם הכל עבד כשורה, שרת ה DNS יחזיר לנו פאקט UDP בחזרה, עם התשובה לשאילתא שלנו - מיפוי בין www.google.com לכתובת IP
  3. יש לדפדפן את כתובת ה IP של www.google.com, ולכן הוא יכול לנסות ליצור איתה קשר
    1. הדפדפן ישלח פאקט בפרוטוקול TCP (שכמובן עטוף ב IP שעטוף ב Ethernet), אל ה IP של www.google.com (וכאן שוב יתחיל ההליך שיבדוק האם הכתובת היא מקומית או לא, דרך איזה gateway לצאת בהתאם ל routing table, בדיוק כמו קודם, רק שעכשיו ה default gateway עדיין יהיה ב ARP Cache ולכן לא יהיה פאקט ARP נוסף...). TCP יותר מסובך מ UDP. לא שולחים את המידע ישר בפאקט. ישנו הליך קודם לכן שנקרא TCP Three-Way-Handshake (לחיצת יד תלת-שלבית)
      1. הפאקט הראשון של TCP יהיה עם הדגל SYN (שזה קיצור של Synchronize) דולק, ויוגדר עם יעד של פורט 80, שהוא הפורט הסטנדרטי של HTTP (אם לא נאמר אחרת לדפדפן, זה מה שיהיה).
      2. השרת של גוגל (אם הכל תקין), יחזיר למחשב הגולש פאקט בכיוון ההפוך (הצמדים Source-IP:Source Port ו Destination-IP:Destination Port מתחלפים), עם הדגל SYN והדגל ACK (שזה Acknowledge) דולקים.
      3. הדפדפן יאשר לשרת של גוגל שהוא קיבל את האישור שלו על ידי שליחה של פאקט עם הדגל ACK בלבד דולק
    2. ה TCP Socket כעת פתוח, ושני הצדדים יכולים לשלוח מידע אחד לשני. TCP ידאג באמצעות מנגנוניו השונים שהמידע יגיע בצורה אמינה, לפי הסדר שהוא נשלח (גם אם הסדר התבלבל במעבר דרך רשת האינטרנט, שבה לא כל פאקט עובר בהכרח באותו מסלול של ראוטרים), וידאג לשידור מחדש של מידע שהלך לאיבוד ברשת (כי IP איננו פרוטוקול אמין)
אני מקווה שלא פספסתי שום שלב, ושעכשיו זה יותר מובן. לצערי, עדיין אין לי תשובה מוחלטת למה התכוון שואל השאלה, משום שהוא היה יכול להתכוון לכל אחד מהשלבים האלה, ובכלל לא בטוח שהוא בעצמו מכיר את כל השלבים. אינני יודע מה הרמה שלו (אני לא בא לזלזל; פשוט התשובה תלויה בידע שלו, או, בחלק מהידע שלו שהועבר בשיעור אם היה כזה דבר, או במה שהוא מצפה שאנשים ימצאו ברשת, שנוטה, הרבה פעמים, לעשות oversimplify לדברים)

כך או כך... בהצלחה...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 14-06-2012, 06:35
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 6 שנכתבה על ידי sza שמתחילה ב "שאלת הדיוט:"

תקשורת בין מחשבים ברשת המקומית מתבצעת באמצעות שליחת מסגרות-את'רנט (Ethernet Frames) מכרטיס רשת א' לכרטיס רשת ב'. לכל מסגרת יש כתובת שולח, וכתובת נמען, אלו הן כתובות ה MAC (ר"ת של Media Access Control). כל כרטיסי הרשת בעולם הם (אמורים להיות) עם כתובת MAC ייחודית, כלומר, אין שניים זהים, כי זה מה שמבדיל בין מחשבים ברשת. (יש יוצאי דופן; טעויות, או כתובות שלא הוקצו בצורה מסודרת על ידי גוף מרכזי, כגון כתובות של כרטיסי רשת וירטואליים במכונות וירטואליות. כמובן שטעויות כאלה גורמות לכאוס מטורף שקשה מאוד לדבג....)

כיוון שהרשת לא "מדברת" IP, ולמעשה, בכלל לא יודעת מה זה (Ethernet הוא פרוטוקול בשכבה אחת מתחת ל IP במודל 7 השכבות), אתה לא יכול להגיע למחשב אחר ברשת באמצעות ה IP "שלו" מבלי לברר קודם לכן מה כתובת ה MAC שלו. טכנית, שיוך ה IP למחשב מסויים לא נעשה בקסם כלשהו בכרטיס הרשת (למרות שבהגדרות מערכת ההפעלה, ניתן לקבל רושם מוטעה שכזה, שהרי אתה "מגדיר IP לכרטיס הרשת"). מה שבפועל קורה כשמגדירים IP על כרטיס רשת הוא די פשוט: מערכת ההפעלה יודעת שאם היא מקבלת שידור מ MAC כלשהו ברשת (וכל המחשבים מקבלים את כל שידורי בקשת המידע בפרוטוקול ARP, שכאמור משודר לכל המחשבים [Ethernet Broadcast], על ידי שליחתו לכתובת MAC מיוחדת FF:FF:FF:FF:FF:FF) ששואל "למי יש את ה IP הבא: X.X.X.X?", אז היא צריכה להגיד: "לי!!! לי!!!". זו כמובן גם הסיבה שטכנית ניתן להגדיר אותו IP בשני מחשבים שונים ברשת - ושניהם יענו כשמחשב אחר ברשת שואל "למי יש את הכתובת הזו?" - והראשון שהספיק לענות (או יותר מדוייק, התשובה הראשונה שהספיקה לחזור לשואל), היא זו שתהיה בעלת משמעות עבור השואל, עד שיפקע ה ARP Cache שלו. זה מה שנקרא IP Collision, ואם אתה מכיר את התופעות המתלוות לכך, עכשיו שאתה יודע איך עובד המיפוי, ועל קיומו של ה ARP Cache, אני משער שזה יסביר לך את הקטע של "המחשב מתחבר ומתנתק מהרשת כל כמה שניות כשעושים פינג רציף"...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

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

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

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

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

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



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

הדף נוצר ב 0.05 שניות עם 10 שאילתות

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

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