1024 אביב פרוייקטים ברשתות סמסטר

Transcription

1024 אביב פרוייקטים ברשתות סמסטר
‫פרוייקטים ברשתות סמסטר אביב ‪1024‬‬
‫להלן רשימת הפרוייקטים (הלא סופית) ברשתות‬
‫ניתוח ביצועי ‪ OSPF‬באמצעות ‪OMNeT++‬‬
‫מנחה‪ :‬אלכס שפינר (מלאנוקס) ‪[email protected]‬‬
‫‪ OSPF‬הוא פרוטוקול ניתוב נפוץ‪ ,‬הדורש סינכרון מלא של המידע על טופולוגיית הרשת בין כל הנתבים‪.‬‬
‫ככל שהרשת נעשית יותר גדולה‪ ,‬כך משך התפשטות המידע על שינוי בטופולוגיה מתארך‪ .‬כתוצאה מכך‪ ,‬זמן‬
‫התכנסות הפרוטוקל גדל ונגרמים שיבושי ניתוב ברשת‪.‬‬
‫בפרויקט זה ננתח את תכונות התכנסות הפרוטוקול על ידי בניית סימולציית רשת באמצעות‪ Omnet++‬ו ‪-iNet.‬‬
‫בפרט‪ ,‬נסיק את היחס בין גודל הרשת וקצב שינוי הטופולוגיה לבין משך זמן התכנסות הפרוטוקול‪.‬‬
‫יתרונות‪ :‬רכישת ידע נרחב בתחום הרשתות ואלגוריתמי רשת‬
‫דרישות קדם‪(++C :‬חובה)‪ ,‬רשתות מחשבים ‪( 1‬חובה)‪ ,‬רשתות מחשבים ‪( 2‬מומלץ)‬
‫מפציץ רשת מבוסס ג'אווה‬
‫מנחה‪ :‬רועי מטרני (טכניון) ‪[email protected]‬‬
‫מפציץ רשת הוא כלי ששולח תעבורה סינטטית לרשת‪ .‬דוגמא לכלי כזה הוא ‪ nuttcp‬בו משתמשים בניסוי ‪.TCP/IP‬‬
‫בדרך כלל כלים כאלה כתובים בשפת ‪ ,C‬על מנת לקבל ביצועים ודיוק מירביים‪ .‬מצד שני‪ ,‬חסידי הג'אווה טוענים‬
‫שכבר מזמן ג'אווה מאד קרובה ל‪ C-‬בביצועים וכל עניין האיטיות הוא אגדה‪.‬‬
‫בפרוייקט הזה אנחנו נפתח מפציץ דומה‪ ,‬אבל בשפת ג'אווה‪ .‬התוכנה תהיה בנויה בצורה של ספריית ‪ ,JAR‬כך‬
‫שאפשר יהיה להריץ את המפציץ מתוך כל תוכנה‪ .‬בנוסף ייכתב ‪ main‬אשר יאפשר להריץ גם מתוך הטרמינל‪.‬‬
‫אנחנו נשווה את הביצועים של המפציץ החדש מול תוכנות מבוססות ‪ C‬כמו ‪ iperf‬או ‪ ,nuttcp‬ברשת מאד מהירה‬
‫של ‪ 04‬גיגה‪ ,‬ובפרמטרים משתנים‪ ,‬ונראה האם באמת ג'אווה כבר מתקרב ל‪.C-‬‬
‫דרישות קדם‪ :‬קורס ברשתות וקורס בתכנות‬
‫השוואה בין סביבות להדמיית רשת‬
‫מנחה‪ :‬רועי מטרני (טכניון) ‪[email protected]‬‬
‫ישנו מספר רב של סביבות בהם אפשר לדמות רשת לצרכי מחקר‪ .‬אצלנו במעבדה משתמשים ב‪ 3-‬סביבות‬
‫עיקריות‪ ,‬השונות מהותית זו מזו‪:‬‬
‫‪ ++OMNet‬הינו סימולטור שממומש ב‪ ++C-‬בסימולטור ממומשים מבני נתונים של תחנות ברשת (מחשבים‪,‬‬
‫נתבים וכו) וניתן להגדיר מבנה נתונים לכל סוג של חבילה‪ .‬כשהסימולטור רץ‪ ,‬נתונים מטיילים בין אובייקטים‬
‫שונים‪ ,‬אבל לא מתבצעת למעשה שום פעולת רשת‪.‬‬
‫‪ Mininet‬מגדיר רשת וירטואלית של מחשבים וירטואלים שמחוברים בינהם ע"י ציוד רשת וירטואלית‪ .‬גם כאן מידע‬
‫לא עובר בכבלים‪ ,‬אבל ניתן להריץ יישומי רשת אמיתיים על המחשבים הוירטואלים והם לא מרגישים אחרת‬
‫מאשר ברשת רגילה‬
‫‪ Emulab‬מגדיר רשת פיזית‪ ,‬כאשר כל תחנת קצה הוא מחשב אמיתי‪ .‬האמולציה פה מתבטאת בכך שהלינקים בין‬
‫המחשבים ניתנים לשליטה‪ ,‬כך ניתן להגדיר איזו טופולוגיה ואיכות לינקים שרוצים‪.‬‬
‫בפרוייקט הזה ננתח את המעלות והחסרונות של כל שיטה‪ .‬נריץ כמה בדיקות בסיסיות שידגימו איזו שיטה יותר‬
‫קרובה למציאות ובאילו תנאים‪.‬‬
‫דרישות קדם‪ :‬רשתות ‪c++ ,1‬‬
‫יתרונות‪ :‬פרוייקט מעניין שמקנה הבנה בניתוח ביצועי רשת‬
‫‪EZChip‬‬
‫מנחה‪ :‬נמרוד מולר ‪[email protected]‬‬
‫הפרוייקט מיועד לבוגרי הקורס מעבדי רשת מהירים‪ ,‬או לכאלה שלוקחים את הקורס במקביל‪.‬‬
‫במסגרת הפרוייקט הסטודנטים יממשו אלגוריתם רשת פשוט על גבי המעבד ‪ .NP-3‬הפרוייקט יבוצע בשפת‬
‫אסמבלר‪.‬‬
‫יתרונות‪ :‬הכירות עמוקה ונסיון מעשי בתכנות לתוך חומרה עם דגש על ביצועים‪.‬‬
‫סנכרון שעונים ברשת ‪OpenFlow‬‬
‫מנחה‪ :‬טל מזרחי ‪[email protected]‬‬
‫פרוטוקול סנכרון הזמנים ‪ PTP‬מאפשר סינכרון מאד מדויק הרשת קוית‪ PTP .‬משמש אפליקציות שונות‪ ,‬כולל‬
‫ברשתות סלולאריות‪ ,‬משחקים ועוד‪.‬‬
‫רשתות מבוססות תוכנה ‪ SDN‬מהוות תפיסה יחסית חדשה בעולם הרשתות‪ ,‬המאפשרת הגדרה גמישה יותר של‬
‫רשתות גדולות‪ ,‬ע"י שליטה באלגוריתמי הניתוב מבקר מרכזי‪ .‬בדרך כלל הבקר נותן פקודות לרכיבי הרשת‬
‫השונים באמצעות פרוטוקול ‪.OpenFlow‬‬
‫באמצעות סינכרון זמנים מדוייק‪ ,‬ניתן לתזמן את הפקודות שהבקר מעביר לרכיבי הרשת כך שהרשת תעבוד‬
‫בצורה יותר יעילה‪.‬‬
‫בפרוייקט נשתמש בטכנולוגיות האלו כדי לממש את תזמון פקודות ה‪.OpenFlow-‬‬
‫המימוש הוא בשפת ‪ c‬מעל לינוקס‬
‫יתרונות‪ :‬הכרת הגישה של ‪ ,SDN‬ניסיון בתכנות לרשתות‬
‫דרישות קדם‪ :‬שפת ‪ ,c‬רשתות ‪1‬‬
‫הוספת תמיכה בביט גודש ב ‪OpenFlow -‬‬
‫מנחה‪ :‬יניב בן יצחק ‪[email protected]‬‬
‫‪ SDN‬היא גישה חדשה ומהפכנית ברשתות‪ ,‬בה קופסאות התקשורת ממומשות ללא לוגיקה בכלל (בניגוד לנתבים‬
‫מאד מתוחכמים ויקרים הקיימים היום)‪ ,‬ואת ההוראות שלהן מקבלות מבקר חיצוני ממומש תוכנה הנקרא‬
‫‪ .Controller‬הפרוטוקול בו הבקר מתקשר עם המתגים נקרא ‪.OpenFlow‬‬
‫‪ Open Vswitch‬הינו מתג מבוסס תוכנה‪ .‬זהו מתג בעל יכולות רבות‪ ,‬ופופולארי מאד לצרכי קישרויות ברשתות‬
‫וירטואליות‪ .‬מתג זה תומך בפרוטוקול ‪.OpenFlow‬‬
‫ביט גודש (‪ )ECN‬הוא חלק מפרוטוקול ‪ .IP‬תפקידו הוא לאפשר לנתבים לאותת למי שמשדר את התעבורה שיש‬
‫סכנה לעומס יתר‪ ,‬כי שהם יפחיתו את קצב השידור שלהם‪.‬‬
‫בפרוייקט אנחנו נוסיף תמיכה לביט הזה במתג ‪ .open vswitch‬לאחר מכן נפתח מנגנון בעזרת בקר ‪OpenFlow‬‬
‫שמנטר את נפח התעבורה ומורה למתג להדליק את הביט כאשר הנפח הכולל בלינק מסויים עובר את הסף‬
‫המסוכן‪.‬‬
‫יתרונות‪:‬‬
‫ לימוד ‪( SDN‬נושא חם מאד בתחום רשתות מחשבים)‬‫ הרחבת הידע בפרוטוקולים‬‫ הצצה לעולם של מימוש מתגים‬‫דרישות קדם‪ :‬ממ"ת‪ ,‬רשתות ‪1‬‬
‫וידוא נכונות ניתוב ברשתות מבוססות ‪OpenFlow‬‬
‫מנחה‪ :‬יניב בן יצחק ‪[email protected]‬‬
‫‪ Datacenter‬הינה רשת מחשבים בעלת עשרות עד אלפים של מחשבים‪ ,‬המחוברים ביניהם ברשת מאד מהירה‪.‬‬
‫‪ mininet‬הינו אמולטור אשר בעזרתו ניתן לדמות ‪ datacenter‬ע"י הגדרת מאות מחשבים וירטואלים קטנים‪ ,‬וחיבור‬
‫ביניהם‪.‬‬
‫בפרוייקט הזה נתחבר ל‪ datacenter -‬יחסית גדול‪ ,‬אשר מקושר בטופולוגיה מסויימת ומממש אלגוריתם ניתוב‬
‫בעזרת ‪.Openflow‬‬
‫הפרוייקט עצמו יפעיל מערכת בדיקות אשר מייצרת תעבורה סינטטית כל פעם בין ‪ 2‬מחשבים שונים‪ ,‬ומוודאת‬
‫שהנתיב בו התעבורה היתה אמורה לעבור‪ ,‬הוא הנתיב בפועל בו התעבורה עוברת‪ ,‬ללא דליפות לצדדים‪.‬‬
‫הפלט של הבדיקה יכול להיות גרפי‪ ,.‬למשל ציור של הרשת עם המסלול בין כל ‪ 2‬מחשבים‪.‬‬
‫דרישות קדם‪ :‬ממ"ת‪ ,‬רשתות ‪1‬‬
‫סימולציה של טופולוגיות שונות עבור ‪Data Centers‬‬
‫מנחה‪ :‬יניב בן יצחק ‪[email protected]‬‬
‫‪ mininet‬הינו אמולטור אשר בעזרתו ניתן לדמות ‪ datacenter‬ע"י הגדרת מאות מחשבים וירטואלים קטנים‪ ,‬וחיבור‬
‫ביניהם‪ .‬החיבור נעשה בעזרת לינקים וירטואלים ומתגים וירטואלים‬
‫‪ Data Center‬הינו אוסף של מחשבים המחוברים ביניהם ברשת ומנהלים מידע עבור חברה או ארגון‪ .‬מספר‬
‫המחשבים ב‪ Data Center-‬יכול לנוע בין מחשבים בודדים לעשרות אלפים‪.‬‬
‫לכל ארגון יש היום ‪ data Center‬משלו‪ ,‬בין אם באופן עצמאי ובין אם ע"י מיקור חוץ אצל חברה מארחת (למשל‬
‫אמזון או אינטרספייס)‬
‫בפרוייקט הזה נשתמש ב‪ mininet-‬כדי לדמות ‪ Data Center‬ע"י יצירת טופולוגיה וקונפיגורציה של המתגים‬
‫הוירטואלים‪.‬‬
‫המימוש הוא בשפת פייטון‪.‬‬
‫יתרונות‪:‬‬
‫הכרה לעומק של רשתות ושל האתגרים בתחום הרשתות ב‪.Data Center-‬‬
‫שימוש בסביבת פיתוח קלה יחסית ללימוד‪ ,‬ומאפשרת יצירתיות רבה‪.‬‬
‫התגוננות מפני תקלות רשת‬
‫מנחה‪ :‬יוסי ילוז ‪[email protected]‬‬
‫בשנים האחרונות כמות המידע העוברת ברשת האינטרנט גדלה מאוד‪ .‬מכאן כל נפילה ברשת תוביל לאיבוד רב‬
‫של מידע‪ ,‬ולכן החשיבות להתמודדות מהירה מפני תקלות‪.‬‬
‫קיימות שתי גישות מקובלות להתמודדות מפני תקלות‪:‬‬
‫‪ - E2E protection‬בגישה זו מקצים מסלול גיבוי בין המקור והיעד אותם רוצים לגבות‬
‫‪ -local protection‬בגישה זו מקצים גיבוי לכל לינק במסלול הנדרש‪.‬‬
‫בפרוייקט זה תממשו אלגוריתם רשת חדשני להתגוננות מפני תקלות בגישה של ‪.Local Protection‬‬
‫הפרויקט כולל סימולציות תוך השוואה עם גישות קיימות‪.‬‬
‫המימוש בשפת ‪C++‬‬
‫דרישות קדם‪ :‬רשתות ‪1‬‬
‫יצירת מודל משופר ל טופולוגי ת רשת האינטרנט‬
‫מנחה‪ :‬אלי מירום ‪[email protected]‬‬
‫רשת האינטרנט הינה גדולה מאד וסבוכה מאד‪.‬‬
‫כאשר רוצים ליצור מודל של רשת האינטרנט‪ ,‬צריך לקחת בחשבון את המבנה הסבוך הזה‪ ,‬כולל מיקום ברשת‬
‫(משתמשי קצה‪ ,‬ספקים‪ ,‬שדרת האינטרנט ועוד(‪.‬‬
‫קיימים כיום כלים ליצירת מודל טופולוגי‪ ,‬אבל הם בדרך כלל לא מתארים את המציאות העכשוית‪ ,‬מכיון שמאז‬
‫שכלים אלו פותחו‪ ,‬השתנו דברים עקרוניים במבנה הרשת‪ ,‬וביחוד בשדרת האינטרנט‪.‬‬
‫בפרויקט הזה נישען על פרסומים מאוחרים לגבי מבנה הרשת נכון להיום‪ ,‬ונשפר את אחד הכלים ליצירת מודל‬
‫הרשת ע"י מימוש אחד מהפרסומים האלה‪.‬‬
‫ניווט מבוסס פוטנציאל ברשתות מחשבים‬
‫מנחה‪ :‬שי ורגפטיק ‪[email protected]‬‬
‫רשתות תקשורת נתונים דינמיות הולכות וגדלות מיום ליום‪ .‬אינספור מכשירים כגון סמארטפונים ‪,‬טאבלטים‪,‬‬
‫חשבים ניידים ועוד‪ ,‬משתמשים בתקשורת נתונים אלחוטית באופן קבוע ומשנים את מיקומם בתדירות גבוהה‪.‬‬
‫ניווט חבילות המידע בטופולוגיה משתנה מסוג זה מציב אתגרים חדשים מכיוון שאלגוריתמים מבוססי טבלאות‬
‫ניתוב אינם מספיקים להתכנס תחת השינויים המהירים וחבילות מידע עלולות להסתובב ברשת זמן בלתי מוגבל‬
‫מבלי להגיע ליעדן‪ ,‬לגרום להשהיות גדולות ואף לבעיות יציבות‪ .‬אחד הפתרונות הפופולריים המוצעים לבעיה זו‬
‫הינו אלגוריתם ה‪ Backpressure-‬הפועל ללא טבלאות ניתוב ע"י שליחת החבילות במורד הפוטנציאל המוגדר לפי‬
‫מספר החבילות‬
‫בתורים‪.‬‬
‫במסגרת פרויקט זה ייבדקו ויוצעו שיפורים לפתרון חדש לבעיית הניווט בטופולוגיה משתנה ותתבצע השוואת‬
‫הביצועים של פתרון זה לתיאוריה ולביצועי אלגוריתם ה ‪ - Backpressure‬במספר ממדים ע"י סימולציות‪.‬‬
‫הפרויקט ימומש בשפת ‪ C‬או ב‪ .MATLAB-‬דרישות קדם‪ :‬מבוא למבני נתונים ואלגוריתמים ‪ ,‬רשתות מחשבים‬
‫ואינטרנט ‪.1‬‬
‫‪.‬‬