שימוש ב-Protective ReRoute כדי לבצע אופטימיזציה של עמידות רשת TCP

Protective ReRoute (PRR) היא טכניקה שמבוססת על מארח לניתוב חבילות (packets) מסביב לתקלות ברשת מרובת נתיבים. פרוטוקול PRR מופעל ברשת הגלובלית של Google, והוא פועל עם מנגנוני חוסן קיימים כדי לשפר את זמינות הרשת לכל המשתמשים.

בחירת מצב PRR

‫Google Cloud מספקת PRR בשני מצבים: מצב Hypervisor ומצב אורח.

שיעור התגובות החיוביות במצב Hypervisor

הגנה על נתונים במנוחה במצב היפר-ויזורי מגינה על רוב התנועה כברירת מחדל, אבל יש לה את המגבלות הבאות:

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

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

  • התגובה של PRR במצב Hypervisor היא תוך כמה שניות בודדות.

PRR במצב אורח

אפשר להשתמש ב-PRR במצב אורח באפליקציות קריטיות שרגישות במיוחד לאירועים ברשת לזמן קצר, שיש להן דפוסי fanout גדולים, שהן רגישות מאוד לאובדן מנות או שנדרש להן זמן השחזור המהיר ביותר האפשרי ברשת (בסולם הזמן של RTT).

כל הלקוחות מקבלים אוטומטית PRR במצב היפר-ויזורי, ללא צורך בפעולות הגדרה. Google Cloud

הגדרת PRR במצב אורח

מומלץ להשתמש במצב אורח באפליקציות שרגישות מאוד לאובדן מנות, שדורשות דפוסי fan-out גדולים או שזקוקות לשחזור מהיר ככל האפשר של הרשת.

כדי להגדיר PRR במצב אורח, מבצעים את השלבים הבאים.

  1. בודקים את הגרסה של ליבת Linux. כדי לוודא שמערכת ההפעלה של המופע משתמשת בגרסה 4.20 ואילך, מריצים את הפקודה הבאה:

    uname -r
    
  2. מוודאים שתוויות הזרימה של IPv6 נוצרות באופן אוטומטי. כדי לבדוק שההגדרה /proc/sys/net/ipv6/auto_flowlabels מופעלת, משתמשים בפקודה הבאה. ההגדרה sysctl הזו מופעלת לעיתים קרובות כברירת מחדל.

    cat /proc/sys/net/ipv6/auto_flowlabels
    

    אם הערך הוא לא 1, צריך להפעיל אותו בהגדרות המערכת.

  3. כדי לקבל תמיכה מלאה ב-PRR, צריך להשתמש במנהל ההתקן של ממשק הרשת gVNIC. כדי להגן על תנועת נתונים ב-IPv4 וב-IPv6, המכונה שלכם צריכה להשתמש בממשק רשת gVNIC. אם המכונה משתמשת בממשק הרשת VirtIO, ‏ PRR מגן רק על תעבורת IPv6.

המאמרים הבאים