מחולל תעבורת רשת מסוג אחר – בחינם, ולכולם: הכירו את TRex

TRex הוא מחולל תעבורת רשת (Traffic generators) שחושב קצת אחרת. הוא זול משמעותית מהמוצרים הקיימים, משותף בקוד פתוח לכל דורש, ובעיקר – יודע לספק ביצועים מרשימים שלא מביישים אף כלי מסחרי

trex

מאת דן קליין.

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

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

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

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

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

וכך, במשך שנים, מוצרי התקשורת (ובראשם נתבים) נבחנו בדרך כלל לפי פרמטר ה-PPS – Packet Per Second. עם העלייה האדירה באופי המערכות מבוססות client-server וכניסת טכנולוגיות חדשות כתוצאה מכך לחומרת התקשורת, מתפתח הצורך למימוש מחוללי תעבורת רשת מתאימים, אשר נדרשים לספק סימולציה אמיתית לאפליקציות השונות שציוד התקשורת נדרש לתמוך בהן, כאשר מטרתם העיקרית היא לאתר את צווארי הבקבוק מהן עלולה לסבול הרשת תחת ארכיטקטורה וקונפיגורציה כלשהי, שבראשן מערכות המתבססות על תקשורת Stateful connectivity, כגון Firewall, IPS/IDS, DPI וכד’.

הבעיות

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

  1. המוצרים האלה יקרים. מאוד.
  2. אין תקינה המתייחסת לאיך המוצרים הללו נדרשים לפעול, וכתוצאה מכך גם שימוש באותו פתרון למטרות מעט שונות יפיק תוצאות שונות. הבעיה כמובן גדלה כשבוחנים מוצרים שונים זה לצד זה.
  3. קיים קושי לבחון את המערכות בקצבים גבוהים בשל מורכבות המערכת, ובדיקה המתבססת על קצבים נמוכים אינה מבטאת במקרים רבים את ההתנהגות במצבי קיצון.
  4. אלה מוצרים סגורים השמורים תחת זכויות יוצרים. לכן, כל שינוי או דרישה להוספת יכולת כרוכה בתקצוב ובהתקשרות מול יצרנית המוצר.

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

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

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

מה זה TRex?

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

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

המטרה של המערכת פשוטה – לאפשר יכולת מדידה אמיתית של פיצ’רים מורכבים המבוססים על Stateful connectivity. מוצרים אלו נותנים שירותים כגון DPI, Firewalls, IPS וכד’. ע”י מימוש השידור כשכפול חכם של פקטות ברשת, המערכת היא בעלת סקאלביליות גבוהה, ומייצרת סימולציה אמיתית של תקשורת דו כיוונית בין צד לקוח לשרת ולהיפך.

כחלק מהמימוש, החלטנו להשתמש ב-DPDK – Data Plane Development Kit, פרויקט קוד פתוח אשר מספק ספריות ודרייברים לעיבוד מהיר של פקטות ברשת, ולאחר בחינה סימנו קבוצת כרטיסי רשת התומכים בחבילה זו באופן אופטימלי.

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

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

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

trex

 

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

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

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

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

קישורים נלווים:

עמוד הבית של TRex

עמוד ה-GitHub של TRex

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

Avatar

כתב אורח

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

הגב

רוצה להיות הראשון להגיב?

avatar
Photo and Image Files
 
 
 

* היי, אנחנו אוהבים תגובות!
תיקונים, תגובות קוטלות וכמובן תגובות מפרגנות - בכיף.
חופש הביטוי הוא ערך עליון, אבל לא נוכל להשלים עם תגובות שכוללות הסתה, הוצאת דיבה, תגובות שכוללות מידע המפר את תנאי השימוש של Geektime, תגובות שחורגות מהטעם הטוב ותגובות שהן בניגוד לדין. תגובות כאלו יימחקו מייד.

wpDiscuz

תגיות לכתבה: