סקירה כללית על תיוג DSCP של איכות השירות

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

איך מגדירים תיוג DSCP

איך פועל תיוג EgressDSCP

איכות השירות (QoS) מנהלת את תעבורת הנתונים ברשת כדי להבטיח שהביצועים של אפליקציות קריטיות יהיו טובים גם במצבים של רוחב פס נמוך. תיוג DSCP של תעבורת נתונים יוצאת מאפשר לתייג מנות עם ערך DSCP בכותרת ה-IP כדי להעביר את רמת העדיפות למכשירי רשת במורד הזרם.

עומסי עבודה נתמכים

תיוג DSCP של תעבורה יוצאת (egress) תומך בתעדוף תעבורה לעומסי העבודה הבאים של Google Distributed Cloud:

  • עומסי עבודה (workloads) של קונטיינרים: קבוצות Pod ושירותים של Kubernetes שפועלים באשכול.
  • מכונות וירטואליות (VM): עומסי עבודה של מכונות וירטואליות שפועלים באמצעות זמן הריצה של המכונה הווירטואלית, בתנאי שהם מחוברים לרשת ברירת המחדל.

סוגי משאבים לסימון DSCP

ב-Distributed Cloud נעשה שימוש במשאבים מותאמים אישית ספציפיים כדי לנהל תגי DSCP. אתם מגדירים את העדיפות של החבילות באמצעות האובייקטים האלה:

  • ‫EgressDSCP: משאב בהתאמה אישית שמגדיר את ערך ה-DSCP הספציפי שיוכנס לכותרת ה-IP של חבילות תנועה נבחרות. האובייקט הזה מקבל ערך מספרי שלם בין 0 ל-63.
  • ‫TrafficSelector: משאב מותאם אישית שבוחר במדויק את זרימות התנועה ברשת. המשאב הזה מקבל מספר שלם של עדיפות מ-0 עד 65535, עם ברירת מחדל של 1000. אובייקט TrafficSelector מפנה לאובייקט EgressDSCP כדי להחיל פעולה ספציפית על התנועה שזוהתה. גם כשמשתמשים ב-TrafficSelector בהיקף של מרחב שמות, צריך לכלול בורר של מרחב שמות כדי לזהות באופן מפורש את מרחב השמות של הפודים שיוזמים את התנועה הממוקדת.

יישוב סכסוכים

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

  1. עדיפות: המערכת מחילה את TrafficSelector עם ערך העדיפות המספרי הנמוך ביותר.
  2. ספציפיות של טווח CIDR: אם לכמה כללים יש אותה עדיפות, המערכת מחילה את הכלל עם מגבלת ה-CIDR הספציפית ביותר (התאמת התחילית הארוכה ביותר).
  3. ספציפיות של יציאה: אם לכללים יש אותה עדיפות ואותו טווח CIDR, המערכת מחילה את הכלל עם היציאה הספציפית ביותר.

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

דוגמה להצללה

נבחן את שני הכללים הבאים של TrafficSelector שמוחלים על אותו יעד:

  • כלל א': עדיפות 100, יעד CIDR 192.168.1.0/24, סימון DSCP 40.
  • כלל ב': עדיפות 200, יעד CIDR 192.168.1.15/32, סימון DSCP 46.

למרות שכלל ב' מציין יעד CIDR מדויק יותר (192.168.1.15/32), המערכת נותנת עדיפות לכלל א' כי ערך העדיפות שלו נמוך יותר מבחינה מספרית (100). כתוצאה מכך, המערכת מתעלמת מכלל ב' ומחילת את תג ה-DSCP‏ 40 על כל התנועה היוצאת שמכוונת אל 192.168.1.15.

מגבלות

תכונת התיוג של DSCP כוללת כמה אילוצים בהטמעה הנוכחית שלה:

  • תנועת יציאה חיצונית: אפשר לתייג רק תנועה מצפון לדרום שיוצאת מהאשכול, כמו תנועה יוצאת שנוצרת על ידי עומסי עבודה ותנועה חוזרת משירותי Kubernetes ללקוחות חיצוניים.
  • אין אכיפה פנימית: למרות שהמערכת מתייגת תנועה בתוך האשכול, Kubernetes לא אוכפת מדיניות QoS באופן פנימי על סמך התגים האלה.
  • סימון בלבד: המערכת מתייגת רק את כותרות ה-IP. אתם צריכים להגדיר את תשתית הרשת הפיזית שלכם במעלה הזרם כדי לטפל באכיפה בפועל של QoS.
  • פרוטוקולים נתמכים: אפשר לתייג רק תעבורת נתונים של IPv4.
  • שירותים נתמכים: אפשר לתייג תנועה רק בשירותים LoadBalancer ו-NodePort.
  • רשתות של מכונות וירטואליות: אפשר לתייג רק עומסי עבודה של מכונות וירטואליות שמחוברים לרשת ברירת המחדל.
  • הפעלת התכונה: כדי להפעיל את התכונה, צריך להוסיף את ההערה preview.baremetal.cluster.gke.io/traffic-selector: "enable" למשאב האשכול.
  • ערכי ברירת מחדל של נתיב החזרה: עבור תנועה בנתיב החזרה, ערך ה-DSCP הוא 0 כברירת מחדל, אלא אם הוגדר אחרת באופן מפורש.

שיקולי אבטחה

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

כדי לצמצם סיכוני אבטחה, מגבילים את הגישה באמצעות בקרת גישה מבוססת-תפקידים (RBAC) ב-Kubernetes:

  • אמצעי בקרה ברמת האשכול: הגבלת ההרשאה ליצור או לשנות משאבים EgressDSCP בהיקף האשכול לאדמינים מהימנים של האשכול.
  • אמצעי בקרה של מרחב שמות: ניהול משאבים של TrafficSelector לפי מרחב שמות, כדי שמשתמשים יוכלו להשפיע רק על עומסי העבודה הספציפיים שלהם.

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