רשתות - אבחון ופתרון בעיות

מאת גיא קרן

עודכן לאחרונה ב- 16.04.06

משך השיעור

60 דקות.

פרוטוקול העברת מידע "על" - HTTP:) (זמן לסוף השיעור 01:00)

פרוטוקול זה "יושב" על-גבי פרוטוקול TCP, ומשמש דפדפנים לגלוש באתרי Web.

הפעילות ברובה מורכבת מיצירת חיבור TCP מהדפדפן אל השרת, שליחת בקשה על-ידי הדפדפן המכילה קישור לפריט מידע, שליחת תגובה על-ידי השרת

(עם או בלי פריט המידע) וסגירת חיבור ה- TCP.

השם מטעה - אין לפרוטוקול הזה שום קשר להייפר-טקסט. הוא בסך הכל מאפשר להעביר מידע מכל סוג שהוא - בין השאר דפי HTML, שהם אלו

המכילים את הקישורים שהפכו את ה- Web לסיפור הצלחה.

מי שמפענח את הקישורים הוא הדפדפן - השרת יודע רק לטפל בקישור היחיד המוזכר בבקשה.

השרת יכול לענות לבקשה נתונה במגוון הודעות, כגון:

  • 200 - OK - המידע המבוקש נמצא, הנה הוא...
  • 301 - המידע המבוקש עבר לצמיתות לכתובת אחרת, שהיא...
  • 401 - לך מפה (וחזור עם אישור - שם משתמש וסיסמא).
  • 404 - המידע המבוקש לא נמצא.
  • 500 - אופס... תקלה בשרת...

זיהוי ותיקון תקלות (זמן לסוף השיעור 00:55)

ראשית - תקלות מתרחשות והרבה. חלקן לרגע קט ומיד נעלמות וחלקן דורשות איתור ותיקון.

שלב ראשון בטיפול בתקלה - נסו שנית. בהרבה מקרים ניסוי שני מצליח, ומעיד על תקלה נקודתית ש- "נפתרה מעצמה".

שלב שני - אם הבעיה מוכרת לכם, נסו "פתרונות מדף" שפעלו בעבר.

שלב שלישי - חפשו את מוקד התקלה, בשיטת ה- "אריה במדבר".

איך לוכדים אריה במדבר באמצעות מספריים, זכוכית מגדלת וקופסאת גפרורים:

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

את החלק שבו מצוי האריה חלקו שוב לשניים.

חיזרו על התהליך שוב ושוב, עד שלאריה אין לאן לזוז.

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

ניתוקים ברשת המקומית

אם אינכם מצליחים להתחבר לשירות כלשהו הרץ על מחשב המצוי ברשת המקומית שלכם:

אם הודעת השגיאה אומרת "connection refused",

כנראה השרות אינו פעיל על המחשב השני.

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

אם לא, נסו לבצע ping למחשב:

ping -n AAA.BBB.CCC.DDD

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

"חומת-אש" (firewll) בין שני המחשבים, שחוסמת גישה ל- port של השרות הספציפי.

אם ping לא עובד, בידקו אם המחשב שלכם רואה את המחשב השני ברמת

ARP: arp -a

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

incomplete, יש תקלה ברשת ה- Ethernet שלכם. אם היא מופיעה, מצבכם קשה :)

ניתוקים בינינו ל-"שאר העולם"

אם אי אפשר להתחבר לשרות כלשהו על מחשב באינטרנט:

בידקו שאתם יכולים להתחבר למחשבים ברשת המקומית שלכם, כדי לוודא שזו לא תקלה מקומית.

אם הרשת המקומית פועלת כשורה, נסו לבצע ping לכתובת ה- IP של הנתב המקשר אתכם לאינטרנט. אם אין ping - בידקו שהנתב פועל.

אם יש ping לנתב, נסו להתחבר לשרותים של ספק האינטרנט שלכם (למשל שרת ה- WWW שלו). אם יש חיבור, כנראה התקלה אצל ספר האינטרנט

והוא מן הסתם מטפל בה.

אם יש ping לנתב, נסו לבצע ping לכתובות IP של שרתים מוכרים של ספק האינטרנט שלכם. אם יש ping, כנראה התקלה אצל ספק השרות שלכם,

או באתר המפעיל את השירות המבוקש והוא מן הסתם מטפל בתקלה.

אם לא הצלחתם להתחבר לשרותים המקומיים של ספק האינטרנט, סביר שיש תקלה בחיבור ביניכם לבין הספק. אם יש באפשרותכם לאתחל מחדש את הקישור

(למשל, החיבור ביניכם לבין הספק מבוצע באמצעות ADSL או רשת הכבלים), נסו לאתחל מחדש את הקישור, ובידקו שנית.

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

ניתוקים במקומות אחרים

לפעמים תקלה ברשת מתבטאת בכך שגישה לחלק מהשרתים באינטרנט פועלת ואילו גישה לשרתים המצויים במקומות אחרים אינה פועלת.

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

סביר להניח שהתקלה כבר נמצאת בטיפול.

בטיפול על ידי אותו ספק עלום-שם.

ספקים מוכרים כאלו הם למשל UUNET (alter.net), MCI, Cogent communications, וכדומה.

צרות בממלכת ה-DNS

בעיות עם שרתי שמות מתחלקות למספר סוגים:

  • נתק ברשת ה- IP מונע חיבור לשרת השמות.
  • שרת השמות מכיל מידע שגוי.
  • שרת השמות הראשי עבור דומיין כלשהו מפנה לשרת שמות משני (secondary), אבל השרת המשני לא יודע בכלל שהוא כזה...

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

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

צרות בארץ HTTP

אם קיבלנו קישור לדף שגוי בשרת - אפשר לנסות לקצץ את הכתובת לאט לאט ולקוות שלפחות חלק ממנה נכון.

אם קיבלנו הודעה ששם המשתמש או הסיסמא שגויים - אולי הקלדנו בטעות באותיות גדולות במקום בקטנות? או בעברית במקום באנגלית?

אם הדפדפן תקוע בנסיון חיבור לדף, ייתכן שמספיק ללחוץ על כפתור RELOAD - ייתכן שקישור ה- TCP "נתקע" משום שחבילה אבדה מספר פעמים

והשידור החוזר של TCP נעשה איטי. במצב כזה, פתיחת קישור TCP חדש עשויה לעזור.

אם קיבלנו קישור לשרת שאינו קיים, אפשר "לנחש" טעויות, כגון: להוסיף www בתחילת השם, למחוק את ה- www מתחילת השם.

אולי נתנו לנו סיומת co.il כשהסיומת הנכונה היא org.il?

מידע נוסף

למידע נוסף:

The TCP/IP FAQ (Frequently Asked Questions)

Hyper Text transfer Protocol version 1.1 - RFC 2616

DNS Resources Directory

תרגיל סיכום (זמן לסוף השיעור 00:20)

חשוב

יש להכין מראש את השרת – הנמצא בכתובת 192.168.1.1 - שלא יקצה כתובות IP באופן אוטומטי

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

כתובת השרת תהיה כתובה על הלוח. המשימה שלהם היא שכל אדמינסיטרטור יסדר העמדה שלו בלבד לקישוריות חד-פעמית (עד אתחול).