איתור ואפיון בעיות קישוריות TCP/IP ב- Windows XP

פורסם: 23 בספטמבר, 2003

מאמר זה מסייע לך לבצע תהליכים אלו.

*

מאמר זה חל על המערכות:

Microsoft Windows XP Home Edition

Microsoft Windows XP Professional

לגרסה של מאמר זה למערכת הפעלה Windows 2000, ראה מאמר Q102908.

תקציר

ישנם כלי שירות (Utilities) אשר יכולים לספק מידע שימושי בעת ניסיון לאתר את סיבת בעיית קישוריות ה-TCP/IP תחת מערכת Windows XP. מאמר זה מונה הסברים לשימוש בכלי שירות אלו על מנת לאפיין בעיות קישוריות. למרות שרשימה זו אינה מלאה, המאמר כן מספק הסברים ודוגמאות כיצד ניתן לאתר ולאפיין בעזרת כלי שירות אלו, בעיות קישוריות.

כלים לפתרון בעיות TCP/IP

הרשימה הבאה מונה חלק מהכלים לאפיון TCP/IP אשר כלולות עם מערכת Windows XP.

כלים בסיסיים:

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

IPConfig
שולח הודעת ICMP Echo Request לוודא שTCP/IP מוגדר כראוי ומארח TCP/IP זמין.

כלים מתקדמים:

Hostname
מציג את שם המארח של המחשב.

Nbtstat
מציג מצב עכשווי של חיבורי NetBIOS על גבי TCP/IP; מעדכן שמות NetBIOS במטמון; ומציג שמות רשומים ואת טווח זיהוי.

PathPing
מציג נתיב למארח TCP/IP ומדווח על איבוד של מנות בכל נתב אשר בנתיב.

Route
מציג את טבלאות ניתוב IP ומוסיף ומוחק נתיבי IP.

Tracert
מציג נתיב למארח TCP/IP.
על מנת לקבל הסבר על התחביר של הכלי השירות הנ"ל, יש להקיד בשורת הפקודה ‎-?‎, לאחר שם כלי השירות.

כלי שירות כלליים של מערכת ההפעלה

בנוסף לכלי השירות הייעודיים ל-TCP/IP, ניתן גם להשתמש בכלים כללים של Windows XP:

Event Viewer
רושם שגיאות מערכת ואירועים.

Computer Management
מאפשר שינויים להתקני כרטיסי רשת ורכיבי מערכת אחרים.

למעלהלמעלה

תהליך פתרון בעיות

תהליך פתרון בעיות של TCP/IP תלוי בשני גורמים:

בסוג חיבור הרשת אשר בשימוש.

בעיית הקישור הספציפית.

למעלהלמעלה

פתרון בעיות אוטומטי

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

1.

לחץ על כפתור התחל, ולאחר מכן לחץ על עזרה ותמיכה.

2.

לחץ על הקישור ‏‏השתמש בכלים כדי להציג את מידע המחשב שלך ולאבחן בעיות, ולאחר מכן לחץ על אבחון רשת.

3.

בעת לחיצה על סרוק את המערכת, אבחון רשת יאסוף מידע אודות הגדרות הרשת ויבצע בדיקה אוטומטית של חיבור הרשת.

4.

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

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

ניתן גם להפעיל את ממשק אבחון רשת ישירות על ידי שימוש בפקודה הבאה:
netsh diag gui

למעלהלמעלה

פתרון בעיות ידני

בדיקת הגדרות על ידי שימוש בכלי השירות IPConfig

בגישה לטיפול בבעיית קישוריות TCP/IP, התחל בבדיקה של הגדרות ה-TCP/IP על המחשב אשר חווה את הבעיה. השתמש בפקודת ה-ipconfig על מנת לקבל מידע אודות המחשב המארח והגדרותיו, כולל כתובת ה-IP, ה-subnet mask ועל שער ברירת המחדל (Default Gateway).

פרמטר ה-/all של פקודת ה-IPConfig יוצר תיאור מפורט של הגדרות הרשת לכל המתאמים, כולל מתאמי גישה מרחוק. ניתן לכוון את פלט ה-IPConfig לקובץ. לבצע זאת, הקש:
‎ipconfig > \folder_name\file_name‎

הפלט מקבל את שם הקובץ המצוין ונשמר בתיקייה המצויינת.

ניתן לסקור את פלט ה-IPConfig לזהות בעיות אשר קיימות בהגדרות הרשת של המחשב. לדוגמא, אם מחשב מוגדר בצורה ידנית וכתובת IP זהה לשלו קיימת כבר ברשת, ה- Subnet Mask יופיע כ- 0.0.0.0.

אם כתובת ה-IP אשר מוחזרת היא ‎169.254.y.z‎, וה- ‎Subnet Mask‎ הוא 255.255.0.0, משמעות הדבר היא שהכתובת ניתנה ע"י פונקציית ה -‎Automatic Private IP Addressing (APIPA)‎ של ה-‎Windows XP‎. הסיבה לכך היא ש-TCP/IP מוגדר לקונפיגורציה אוטומטית ע"י שרת DHCP אשר לא נמצא, ושלא נתנה קונפיגורציה חלופית. במצב זה לא מוגדר שער ברירת מחדל ‎(Default Gateway)‎ למתאם.

במידה וכתובת ה-IP מוחזרת כ-0.0.0.0, פוקנציית ה-‎DHCP Media Sensing‎ נכנסה לתוקף, מפני שמתאם הרשת לא זיהה חיבור לרשת או משום ש-TCP/IP זיהה כתובת IP כפולה אשר הוגדרה באופן ידני ברשת.

בדיקת קישוריות על ידי שימוש בכלי ה-Ping

במידה ולא זוהו בעיות בהגדרות ה-TCP/IP, השלב הבא הוא לוודא שהמחשב מצליח לתקשר עם מחשבים אחרים על גבי רשת ה-TCP/IP.

Ping הוא כלי שירות אשר מאפשר לוודא קישוריות ברמת ה-IP. פקודת ה-Ping שולח בקשת ICMP Echo ליעד מארח (host). השתמש ב-Ping בכל עת אשר ברצונך לוודא שמחשב מארח יכול לשלוח מנות IP למחשב יעד. ניתן להשתמש גם בפקודת ה-Ping לבודד בעיות חומרה והגדרות לא מתאימות.

שים לב שכאשר מורצת הפקודה ipconfig /all ומוצגות הגדרות ה-TCP/IP, אין צורך לבצע ping לכתובת ה-Loopback ולכתובת IP של המחשב עליו מתבצעת הבדיקה. IPConfig כבר ביצע משימות אלו על מנת להציג את ההגדרות. כאשר ניגשים לטפל בבעיה, יש לוודא שקיים נתיב (route) בין המחשב המקומי ומארח ברשת על ידי שימוש בפקודה ping לכתובת ה-IP של המארח ברשת אשר אליו ברצונך להתחבר. תחביר הפקודה הוא:
Ping ip_address

עקוב אחר ההוראות הבאות כאשר הנך משתמש ב-ping:

1.

בצע ping לכתובת ה-loopback לוודא ש-TCP/IP מותקן ומוגדר כראוי על המחשב המקומי. השתמש בפקודה הבאה:
Ping 127.0.0.1
במידה ובדיקת כתובת ה-loopback נכשלה, סימן שה-IP stack לא מגיב.חוסר תגובה יכול להווצר כאשר התקני ה-TCP פגומים, אם כרטיס הרשת אינו פעיל, או כאשר שירות (Service) אחר מתנגש עם ה-IP.

2.

בצע ping לכתובת ה-IP של המחשב המקומי לוודא שהמחשב הוגדר לרשת בצורה תקינה. במידה וטבלאות הניתוב (routing tables) נכונות, פעולה זאת רק מבצעת שליחה של המנה אל כתובת ה-loopback 127.0.0.1. השתמש בפקודה הבאה:
Ping IP address_of_local_host
אם בדיקת ה-loopback הצליחה, אך לא ניתן לבצע ping לכתובת ה-IP המקומית, ייתכן וישנה בעיה הנוגעת לטבלאות הניתוב או בהתקן כרטיס הרשת.

3.

בצע ping לכתובת ה-IP של שער ברירת המחדל (Default Gateway) לוודא ששער ברירת המחדל מתפקד ושניתן ליצור קשר עם מארח מקומי ברשת המקומית. השתמש בפקודה הבאה:
Ping ip_address_of_default_gateway
כישלון של ביצוע ping בשלב זה יכול להעיד על בעיה במתאם הרשת, בנתב/שער ברירת מחדל, בכבילה או בכל חומרת קישוריות אחרת.

4.

בצע ping לכתובת IP של מארח מרוחק על מנת לוודא קישוריות דרך נתב. השתמש בפקודה הבאה:
Ping IP_address_of_remote_host
כישלון של ping בשלב זה יכול להעיד על כך שהמארח המרוחק לא מגיב או שישנה בעיה בחומרת הרשת בין המחשבים. בצע ping למארח מרוחק שונה על מנת לשלול את אחת האפשרויות.

5.

בצע ping לשם של המארח המרוחק לוודא שניתן לאפנן שם של מארח מרוחק. השתמש בפקודה הבאה:
Ping host_name_of_remote_host
Ping משתמש בפענוח שמות (Name Resolution) על מנת לקשר שם של מחשב לכתובת IP. לפיכך, עם ביצוע של ping לכתובת IP מצליח, אך ping לשם המחשב לא מצליח, הבעיה היא בפענוח שם מארח (Host Name Resolution), לא בקישוריות רשת. בדוק שכתובות שרתי ה-DNS מוגדרים למחשב, או בצורה ידנית בהגדרות ה-TCP/IP, או בצורה אוטומטית. אם כתובות DNS רשומות כאשר נעשה "ipconfig /all", נסה לבצע ping לכתובות השרתים המצוינים על מנת לוודא שהם נגישים.

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

וודא שכתובת ה-IP של המחשב המקומי תקף ושהוא נכון בלשונית הכללי של מאפייני ה-TCP/IP או בעזרת שימוש בכלי שירות ה-IPConfig.

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

וודא שכרגע לא מאופשר IP Security ‎(IPSec)‎. בהתאם להגדרות ה-IPSec, ייתכן כי מנות Ping חסומות או שדורשות הרשאות אבטחה. למידע נוסף אודות IPSec, ראה "בדיקת IP Security" במאמר זה.

חשוב: אם המערכת המרוחקת אשר לכתובתה מבוצע ping נמצאת מעבר לחיבור high-delay, כגון חיבור על גבי תשתית לווינית, ייתכן כי תתארך התגובה. ניתן להשתמש בפרמטר ה: ‎-w (wait)‎ כדי לציין זמן המתנה לתגובה ארוך יותר מזמן התגובה המוגדר כברירת מחדל של 4 שניות.

וידוא נתיב על ידי שימוש בכלי השירות PathPing

PathPing הוא כלי שירות אשר מזהה איבוד של מנות IP על גבי נתיב מרובה קישורים (Multiple-hop path). השתמש ב-PathPing על מנת לוודא שהנתבים בנתיב אל מארח מרוחק תקינים. השתמש בפקודה הבאה:
PathPing IP_address_of_remote_host

ניקוי זכרון המטמון של ה-ARP על ידי שימוש בכלי השירות ARP

אם ניתן לבצע ping גם אל כתובת ה-loopback (127.0.0.1) וגם אל הכתובת של המארח, אך לא ניתן לבצע ping לאף כתובת IP אחרת, נסה לנקות את הזכרון מטמון של ה-ARP (Address Resolution Protocol). זאת ניתן לבצע על ידי שימוש בכלי שירות ה-ARP. השתמש ב- arp -a או ב- arp -g על מנת להציג את רישומי הזכרון. השתמש ב- arp -d IP_address למחיקת רשומות מהמטמון. על מנת לרוקן את מטמון ה-ARP, השתמש בפקודה הבאה:
Netsh interface ip delete arpcache

וידוא שער ברירת המחדל

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

בדיקת קישוריות על ידי שימוש בכלי השירות Tracert או Route

במידה ושער ברירת המחדל מגיב כראוי, בצע ping למארח מרוחק על מנת לוודא שתקשורת בין שני רשתות פועלת כראוי. אם התקשורת לא עובדת כראוי, השתמש בפקודת ה-Tracert אל מנת לאתר הנתיב אל היעד. לנתבי IP אשר הם מחשבים אשר מריצים Microsoft Windows 2000 או Microsoft Windows NT, בדוק את טבלאות ניתוב ה-IP על ידי שימוש בכלי השירות Route או על ידי Routing and Remote Access snap-in במחשבים הללו. לנתבי IP אשר אינם מחשבים המריצים Windows XP Professional, Windows 2000 או Windows NT, השתמש בהתקן או כלי שירות המתאים המסופק על ידי היצרן בכדי לבחון את טבלאות הניתוב.

ארבעת הודעות השגיאה הבאות נפוצות בעת שימוש ב-Ping כאשר מנסים לאתר בעיות קישוריות:

TTL Expired in Transit
הודעת שגיאה זו מעידה על כך שמספר הקפיצות (hops) אשר נדרש, היה ארוך יותר מה-Time To Live ‎(TTL)‎. הגדל את ה-TTL על ידי שימוש בפקודה ‎ping -I‎. ייתכן כי קיימת לולאת ניתוב, השתמש בפקודת ה-Tracert על מנת לבדוק האם נתבים אשר לא מוגדרים נכון גורמים ללולאת הניתוב.

Destination Host Unreachable
הודעת שגיאה זו מעידה על כך שלא קיים נתיב מקומי או מרוחק למארח יעד, או במארח השולח או בנתב. בדוק את המארח השולח או את טבלאות הניתוב של הנתב.

Request Timed Out
הודעה זו מעידה על כך שלא התקבלו הודעות Echo Reply במהלך פרק הזמן אשר הוקצב (זמן ברירת המחדל הוא ארבע שניות). השתמש בפקודה ‎ping -w‎ על מנת להגדיל את זמן ההמתנה לתגובה.

Ping request could not find host
הודעה זו מעידה על כך שלא ניתן לפענח (resolve) שם של היעד המארח. וודא את השמות והזמינות של שרתי DNS ו-WINS.

בדיקת IP Security

למרות ששימוש ב-IPSec מגדיל את ההגנה על הרשת, שימוש ב-IPSec יכול גם להקשות על שינוי תצורות רשת וגישה לפתרון בעיות. במקרים מסויימים, פוליסות IPSec דורשות תקשורת מאובטחת על גבי מחשב מבוסס Windows XP Professional, והדרישות הללו יכולות להקשות על חיבור למארח מרוחק. אם IPSec מאופשר מקומית, ניתן לנטרל את שירות ה-IPSec ממנהל השירותים של המערכת.
במידה ובעיות הקישוריות נעלמות כאשר מופסק שירות ה-IPSec, או שפוליסות ה-IPSec חוסמות את התעבורה הרישתית או שנדרשת הרשאות אבטחה לתעבורה.שאל את מנהל הרשת לגבי הגדרות ה-IPSec.

בדיקת סינון מנות (Packet Filtering)

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

1.

בלוח הבקרה, לחץ על חיבורי רשת, ולאחר מכן לחץ על הצג חיבורי רשת.

2.

לחץ בעזרת הכפתור הימני של העכבר על החיבור אשר אותו ברצונך לעדכן, ולאחר מכן בחר במאפיינים.

3.

בלשונית כללי, תחת "חיבור זה עושה שימוש בפריטים הבאים:", בחר בInternet Protocol ‎(TCP/IP)‎, ולאחר מכן בחר במאפיינים.

4.

לחץ על מתקדם, ובחלון אשר יפתח לחץ על לשונית "אפשרויות".

5.

בתיבת ה"הגדרות אופציונליות:", לחץ על "סינון TCP/IP", ולאחר מכן לחץ על מאפיינים.

6.

נקה את תיבת הסימון אשר ליד "אפשר סינון TCP/IP (כל המתאמים)", ולחץ על אישור.

נסה לבצע ping לכתובת ע"י שימוש בשם ה-DNS, שם ה-NetBIOS של המחשב או כתובת ה-IP. במידה וה-ping מצליח, ייתכן כי סינון המנות אינו מוגדר כראוי או שהוא מגביל מדי. לדוגמא, הסינון יכול להרשות למחשב לשמש כשרת Web, אבל ייתכן כי הסינון יסגור כלי שירות מסויימים, כגון ניהול מרחוק ‎(Remote administration)‎. ניתן לשחזר טווח הרשאות רחב יותר לאפשרויות הסינון ע"י שינוי ערכי ה-TCP port, ה-UDP port ופרוטוקול ה-IP.

בדיקת כישלון להתחבר לשרת ספציפי

על מנת לקבוע מה הוא הגורם לבעיות קישוריות כאשר מנסים להתחבר לשרת ספציפי על גבי קישור מבוסס-NetBIOS, השתמש בפקודה ‎nbtstat -n‎ על גבי השרת על מנת לקבוע מהו השם שבו רשום השרת ברשת.

פקודת ה- ‎nbtstat -n‎ מונה מספר שמות שהמחשב נרשם עימם ברשת. ברשימה להיות צריך שם אשר דומה לשם המחשב כפי שהוא מוגדר בלשונית השם מחשב תחת מערכת אשר בלוח הבקרה. במידה ולא, נסה אחד מהשמות הייחודיים (Unique) אשר הוצג בעזרת ה-Nbtstat.

בדיקה מדוע חיבור מרוחק חדל להגיב (נתקע)

על מנת לבדוק מדוע חיבור TCP/IP למחשב מרוחק לא מתפקד כראוי, השתמש בפקודה ‎netstat -a‎ על מנת להציג את הפעילות של כל כניסות ויציאות ‎(ports)‎ ה- TCP ו-UDP על המחשב המקומי.

קישור TCP תקין לרוב יציג 0 בתים בתור כניסה ויציאה ‎(Sent and Received queues)‎. במידה ומידע חסום באחד התורים או שהמצב של אחד התורים אינו תקין, החיבור ככל הנראה יהיה לא תקין. אם מידע אינו חסום או שמצב החיבור תקין, ככל הנראה ישנו עיכוב רשתי או תוכנתי ‎(Network or program delay)‎.

בדיקת טבלאות ניתוב על ידי שימוש בכלי השירות Route

על מנת ששני מארחים יכולו להחליף ביניהם מנות IP, לשני המארחים חייב להיות נתיב אחד אל השני או שעליהם להשתמש בשער ברירת מחדל שיודע על נתיב בין שני המארחים. ניתן לבדוק את טבלאות הניתוב על מערכת מבוססת Windows XP על ידי שימוש בפקודה הבאה בשורת הפקודה:
Route print

בדיקת נתיבים על ידי שימוש בכלי השירות Tracert

Tracert הוא כלי שירות מאתר-נתיבים אשר שולח הודעות ICMP Echo Request עם ערכים עולים ב-IP header בשדה ה-TTL על מנת לקבוע נתיב ממארח אחד למשנהו ברשת. לאחר מכן, Tracert בודק את הודעות ה-ICMP אשר מוחזרות. Tracert מאפשר לעקוב אחר נתיב מנתב לנתב עד לכדי 30 קפיצות (hops). במידה ונתב כשל או שמנת ה-IP נותבה לתוך לולאה, Tracert יציג זאת. לאחר שהנתב הבעייתי כשל, ניתן ליצור קשר עם מנהל הנתב אם הנתב נמצא מחוץ לאתר, או שניתן להגדיר את הנתב מחדש למצב תקין במידה והנתב נמצא תחת שליטתך.

איפוס פרוטוקול אינטרנט TCP/IP

על מנת לאפס את הגדרות פרוטוקול האינטרנט TCP/IP ברישום (registry) השתמש בפקודה הבאה:
Netsh int ip reset ‎[<log_file_name>]

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

דוגמא לפקודה תיהיה: netsh int ip reset c:\resetlog.txt. הפקודה תאפס את כל הגדרות ה-TCP/IP ברישום המערכת ותיצור קובץ טקסט בשם resetlog.txt בספרייה הראשית של מחיצה C.

חשוב: הפעולה הנ"ל מאפסת את כל הגדרות ה-TCP/IP למצב אשר בו הם מוגדרים בעת התקנת המערכת. כל שינוי שבוצע בקונפיגורציה יאפס ויאלץ להיות מוגדר מחדש.

למידע נוסף אודות פקודה זו עיין במאמר Q299357.


למעלהלמעלה