עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

בעייה בשליחת packets גדולים מה MTU

Featured Replies

פורסם

שלום לכולכם.

יש לי בעיה קשה למדי, שתזדקק למישהו שבאמת מבין לעומק במבנה פאקטים של TCP ו Firewalls.

רכשתי לאחרונה Router אלחוטי של חברת D-Link. הדגם הוא DI-614+.

התקנתי אותו בהצלחה, יצרתי שיתוף אינטרנט ברשת הביתית שלי, אפילו הצלחתי לפתוח את הפורטים בכדי ש Emule יקבל high ID.

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

(אגב, לצורך שליחת ההודעה הזאת התנתקתי מה Router ואני מחובר ישירות למודם, אחרת הוא לא היה שולח את זה).

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

ניסיתי אפילו להכניס את המחשב שלי ל DMZ, וכלום לא הועיל. אני לא יכול לבטל את ה Firewall, אין אופציה כזאת ב Router.

הצצה ב Log של ה Firewall ברגע שהבעיה קורית מגלה כמה Dropped Packets, בינהן ICMP מה IP החיצוני שלי (מה שקיבלתי מה ISP, לא ה 192.168.0.100 שזה ה IP הפנימי שלי) מפורט 3 אל אותו IP בפורט 4. זה נראה לי נורא מוזר.

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

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

פורסם

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

אני יכול לעזור אם אתה יכול להרגן נתב סיסקו.

בהצלחה.

פורסם

אתה יכול לעשות כמה בדיקות מאוד פשוטות כדי לדעת בדיוק מה הבעיה.

ping www.yahoo.com : כדי לראות שיש חיבור (פקטות ה- ICMP עם payload של 64 בתים)

ping www.yahoo.com -l 3000 -t : כדי לראות שפקטות גדולות יכולות לעבור (MTU של ethernet הוא 1500~ מה שאומר שפרגמנטציה תתבצע)

ping www.yahoo.com -l 800 -f: פינגים בגודל לא קטן (800 בתים) אבל עם Dont Fragment דלוק.

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

א) תקרא את ה- manuals של כרטיס הרשת האלחוטי והנתב וחפש משהו על fragmented IP packets ו- ignore Dont Fragment flag. קשה לי להאמין שהרכיבים לא מקונפגים נכון דיפולטיבית אבל לך תדע.

ב) תתקין ethereal על המחשב שלך, תריץ את הפינגים הנ"ל ותשים פה את ה- capture

ג) תרשום פה את ה- logs מהנתב (תחפש ב- manual שלו איך קובעים רמת לוגינג ושים אותו ב- verbosity הכי גבוה)

בהצלחה

פורסם
  • מחבר

אוקי, הנה תוצאות הבדיקה:

פינג רגיל ל Yahoo עובד

פינג של 3000 לא עובד. ה Router שלי מנע מה Ping להשלח בטענה שמדובר ב Ping of death.

פינג של 800 עם Don't Fragment עובד.

מלבד זאת עשיתי עוד בדיקונת קטנה, והרצתי פינג של 1600 בלי Don't Fragment (טיפה מעל ה MTU אבל לא מספיק בשביל שיצעק על Ping of death) וכל 4 הנסיונות נכשלו.

הפקודה שהרצתי:ping www.yahoo.com -l 1600

הנה מהלוגים של ה Firewall הסיבה שהניסיון האחרון נכשל:

Oct/10/2003 22:11:22 Drop ICMP packet from WAN 200.140.162.236:3 to <My_IP>:3 Rule: Default deny

החלפתי את ה IP שלי בכתובת My_IP.

וכאן שורש הבעיה. איך אני גורם ל Router שלי לא לזרוק את פאקטי ה ICMP הללו?

פורסם

אכן בעיה מעניינת ... אני זוכר שישנם אתרים מיוחדים שעוזרים לבחור גודל של MTU ע"מ לגרום לאופטימזיציה טובה למערכת שלך.

תנסה : http://www.adsl.org.il/registry.htm , אני בנתיים בודק את התאוריות שלך.

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

פורסם
  • מחבר

אני חייב לציין עובדה נוספת: הוספתי כלל ב Firewall שאמור לאפשר מעבר חופשי של כל ICMP packet, וזה לא עוזר. הוא עדיין נותן לי את ההודעה שהוא חוסם את ה ICMP תחת Default Deny.

פורסם
  • מחבר

אגב, למה שאני ארצה לכוון את ה MTU שלי לערך אחר? הבעייה היא לא עם הערך של ה MTU אלא עם חבילות ה ICMP שנחסמות.

פורסם

טוב, אז לפחות יש לנו ממה להתחיל. מחיפוש מהיר ב- google ראיתי שאתה לא היחיד שמתלונן על התופעות האלו:

http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=DI-614%2B+ping+of+death

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

פורסם
  • מחבר

ה Firmware של הראוטר שלי כבר מעודכן. הוא 2.18 (קיימת גרסת 2.20 אבל הדבר היחיד שהיא משנה זה מוסיפה תמיכה ב Static DHCP).

פורסם
  • מחבר

למה אתה חושב שהבעיה שלי היא Ping of death? פינגים באמת לא אמורים להיות בגדלים כאלה, וטוב שה Router שלי עוצר אותם. הבעיה שלי היא שהוא עוצר ICMP packets חוקיים (ושהגדרתי לו להעביר).

פורסם
  • מחבר

אגב, אני מפצל את התגובות שלי למספר הודעות כי אני לא יכול להעביר הודעות של יותר משורה בערך (זה כבר גדול מה MTU).

פורסם

אין שום סיבה להראוטר לא יעביר ICMP אם בפירוש אמרת לו להעביר הכל (למרות שיתכן שה- stateful firewall במקרה הזה עושה overriding על החוקים שאתה מגדיר לו).

טוב, אז בוא נשנה גישה. קודם כל, אתה יודע שלפעמים יש חשיבות לסדר שאתה מכניס את חוקי הפיירוול? אם מופיע החוק icmp deny all לפני icmp allow all, יש פיירוולים לא מתוחכמים שיעשו deny. תנסה לעשות חוק אחד של allow (למרות שבטח כבר עשית את זה) . עכשיו לך לכל המקומות שמגדירים מה להעביר (ראיתי שיש לו dont allow pings from WAN) - ושים שם את ההגדרות הכי מתירניות. תראה אם יש לזה השפעה.

בכל מקרה, מחר אני אביא תוכנה שאנחנו משתמשים בעבודה כדי לבדוק throughput - אפשר לשלוח שם כל מיני פקטות בכל מיני גדלים ונראה איפה הראוטר שלך מפיל פקטות (יש כל מיני traffic generators באינטרנט אבל הם לא חינמיים ואם כן אז הם ממש עלובים).

פורסם
  • מחבר

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

הכלל של העברת ICMP הוא כרגע הכלל הראשון אצלי, והוא על הצורה הכי מתירנית שלו (הרשה ICMP מכל מקור לכל יעד בכל פורט).

הכלל של ה Ping מ- WAN גם מורשה אצלי. התאוריה שלך לגבי זה שה SPI עושה override לכללי ה Firewall שלי מעניינת ונשמעת אפשרית. השאלה היא איך אני בודק ומונע את זה?

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

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

פורסם
  • מחבר

אכן ההודעה עברה. עכשיו זה אפילו יותר מוזר.

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

פורסם
  • מחבר

בכל מקרה, מחר אני אביא תוכנה שאנחנו משתמשים בעבודה כדי לבדוק throughput - אפשר לשלוח שם כל מיני פקטות בכל מיני גדלים ונראה איפה הראוטר שלך מפיל פקטות (יש כל מיני traffic generators באינטרנט אבל הם לא חינמיים ואם כן אז הם ממש עלובים).

אגב, את הבדיקה הנ"ל כבר ביצעתי בעזרת פינג. אני חושב שהגודל הגדול ביותר שהוא מעביר לי הוא 1462 (שזו הגדרת ה MTU אצלי ברג'יסטרי ובראוטר).

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.