07-02-2010, 07:43
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,776
|
|
לפני הרבה הרבה שנים היה באג במערכות הפעלה שלא ידע "לאכול" פינג בגודל לא שגרתי - פשוט משום שהמתכננים לא ציפו שיהיה דבר כזה [פעם הרשת הייתה מקום נחמד...] - קראו לזה Ping of Death. מאז מערכות ההפעלה שונו כך שידעו להתמודד עם דברים כאלה, ואני לא מכיר בעייה כזו היום. הייתה בעייה דומה בעבר שאיפשרה לגרום למחשבי חלונות לקרוס עם מסך כחול, וכונתה בלשון העם "Nuke" (והתוכנה שגרמה לכך מחלונות נקראה WinNuke). כמו כן היו שלל תוכנות נודיניקיות במיוחד שגרמו לבעיות דומות: Smurf, Land, Boink, Teardrop ועוד "רבות וטובות" - כולן ניצלו באגים במימוש הסטנדרטים.
כעקרון, בהעדר באגים מצד המחשב המקבל (ואין הבדל אם זה מחשב PC או ראוטר של סיסקו או פיירוול של צ'קפויינט או מכשיר של F5 או כל דבר אחר כזה - כולם בסופו של דבר מחשב שמריץ תוכנה או חומרה ייעודית שמשולבת בה לוגיקה תכנותית), שום דבר לא אמור להיות מסוגל להפיל מחשב על ידי היותו חריג. הדרך היחידה להפיל ציוד שאין בו באגים, היא להעמיס עליו מעבר ליכולת החישובית שלו - וזה לא משנה איך. כשרוצים לעשות את זה בכוונה, נוהגים למצוא את העקב אכילס של המכשיר המסויים (כלומר - איזו פעולה דורשת אצלו הכי הרבה עבודה מהמשאב המוגבל ביותר שלו) - ומנסים לעשות אותה כמה שיותר.
דוגמא קלאסית היא התוכנה eMule ונתבים ביתיים סטנדרטיים. התוכנה הנ"ל פותחת כמות מטורפת של חיבורים, הרבה מעבר לגודל טבלת ה NAT של ראוטר ביתי ממוצע. כיוון שטבלת NAT חייבת לעבוד באלגוריתם מסוג LRU או דומה לו, התוצאה היא שמי שמנסה הכי הרבה חיבורים, יזכה להכי הרבה חיבורים מוצלחים, ומי שלא, פשוט יזכה לכך שעד שהוא כבר מצליח לעשות חיבור, החיבור שלו עף מהטבלה (ולכן הופך ללא קיים מבחינת הנתב, ולכן לא בר ניתוב), והתוצאה היא ש"האינטרנט לא עובד/זז", אפילו שרוחב הפס לא נוצל לחלוטין.
גם סיסקו סובלת (מנסיוני לפחות) קשות מבעיות מסוג זה - יש לה ראוטרים חזקים מאוד - אבל לא בכסף שרוב האנשים יכולים להוציא (עשרות/מאות אלפי דולרים). כל הציוד שלהם ברמת מחיר סבירה פשוט לא יכול לעמוד בעומסים רציניים... איכשהוא... התעשייה מקבלת את זה ("הסוויצ' זורק פריימים?" "לא קנית סוויצ' חזק מספיק" - איכשהוא יש לי הרגשה שאם סוויצ' של 3com היה מעז "להתנהג" כך כבר היו מכריזים עליו כ"דפוק"...)
לחלופין אפשר למנוע יכולת לעבוד גם אם הציוד שלך מספיק חזק - וזאת פשוט משום שרוחב פס הוא משאב מוגבל - ואם אתה מצליח למלא אותו בזבל שדוחף "מספיק חזק", לא יישאר מקום לתעבורה לגיטימית. זו הסיבה שהומצאו התקפות ה "Denial-of-Service" לכתחילה, ואחרי שספקים התחילו להגן מפני התקפות ממקורות בודדים, הומצאו התקפות ה "Distributed Denial-of-Service" אשר מבזרות את ההתקפה להרבה מקומות, שכל אחד מהם שולח קצת תעבורה שיכולה להיות לגיטימית מצד המתבונן - אבל מצד המקבל, שורפת את כל משאביו (בין אם הם רוחב פס, מעבד, זיכרון וכו').
עד כאן שיעורנו להיום
|