Generic Network Virtualization Encapsulation (GENEVE) הוא פרוטוקול אנקפסולציה ברשת שמבצע אנקפסולציה של החבילה המקורית עם מטא-נתונים נוספים. המטא-נתונים הנוספים האלה עוזרים להפעיל וירטואליזציה גמישה וניתנת להרחבה של הרשת.
התרשים הבא מציג את פורמט הכותרת של מנות GENEVE.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| Opt len |O|C| Rsvd. | Protocol type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual network identifier (VNI) | Rsvd. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
בטבלה הבאה מתוארים שדות הכותרת של GENEVE שמוצגים בתרשים שלמעלה:
| שדה | תיאור | אורך השדה |
|---|---|---|
| Ver | הגרסה של פרוטוקול GENEVE. הגרסה הנתמכת היחידה היא אפס (0). מידע נוסף זמין במאמר בנושא שדות כותרת של מנהור. | 2 ביטים |
| אורך האפשרות | האורך של שדות האפשרויות, בערכים שהם כפולות של 4 בייטים, לא כולל את כותרת המנהרה הקבועה של 8 בייטים. למידע נוסף, ראו שדות של כותרות מנהור. | 6 ביטים |
| O | הביט של מנת הבקרה. מידע נוסף זמין במאמר בנושא שדות כותרת של מנהור. | 1-ביט |
| C | הביט של האפשרויות הקריטיות. מידע נוסף זמין במאמר בנושא שדות כותרת של מנהור. | 1-ביט |
| Rsvd | שדה שמור, הערך שלו חייב להיות אפס (0) בזמן השידור, וחובה להתעלם ממנו בזמן הקבלה. למידע נוסף, ראו שדות של כותרות מנהור. | 6 ביטים |
| סוג הפרוטוקול | סוג הפרוטוקול מאפשר כל סוג אתרנט, אבל Network Security Integration מאפשר רק IPv4 (0x0800) או IPv6 (0x86DD). |
16 ביט |
| מזהה רשת וירטואלית (VNI) | מזהה ייחודי של רכיב ברשת וירטואלית. השדה הזה לא מאוכלס על ידי Network Security Integration, כלומר ה-VNI מוגדר לאפס (0). מידע נוסף מופיע במאמר בנושא שילוב מחוץ לפס GENEVE. | 24 ביט |
| Rsvd | שדה שמור, הערך שלו חייב להיות אפס (0) בזמן השידור, וחובה להתעלם ממנו בזמן הקבלה. למידע נוסף, ראו שדות של כותרות מנהור. | 8 ביטים |
אפשרויות GENEVE ספציפיות ל-Google Cloud
הכותרת של GENEVE משתמשת בפורמט Type-Length-Value (TLV) לאפשרויות שלה. כלומר, כל אפשרות מקודדת עם מזהה סוג, שדה אורך שמציין את גודל הערך והערך עצמו. הפורמט הזה מאפשר גמישות והרחבה, כי אפשר להוסיף אפשרויות חדשות בלי לשבש הטמעות קיימות. בקטעים הבאים מתואר הסדר של האפשרויות ומספר האפשרויות. שימו לב שמספר האפשרויות והסדר שלהן ישתנו ככל שהמוצר יתפתח. לכן, כדי להבטיח תאימות קדימה להטמעה של המכשיר, צריך לנתח את כותרת GENEVE על סמך שדות ה-TLV.
אלו האפשרויות של GENEVE שספציפיות ל- Google Cloud :
- מזהה רשת (קובץ Cookie של רשת)
- מזהה נקודת הקצה (קובץ Cookie של נקודת הקצה)
- מזהה פרופיל
- חותמת זמן (תצוגה מקדימה)
- מזהה יציב של רשת (תצוגה מקדימה)
מזהה הרשת
האפשרות 'מזהה רשת', שנקראת גם 'קובץ Cookie של רשת', מזהה את הרשת הווירטואלית שמשויכת לתנועת נתונים שעוברת אנקפסולציה של GENEVE ב- Google Cloud. האפשרות הזו מזוהה לפי מחלקת האפשרויות 0x0132 (Google) והסוג 0x01 (מזהה רשת). נתוני האפשרות מכילים 32 ביטים, מתוכם 28 הביטים הראשונים מייצגים מזהה רשת אטום. התרשים והטבלה הבאים מתארים את המטרה של 4 הביטים הנותרים.
בתרשים הבא מוצג פורמט האפשרויות בחבילת GENEVE.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x01 R|R|R| Len=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network cookie |R|R|T|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
בטבלה הבאה מתוארים שדות האפשרויות שמוצגים בתרשים שלמעלה:
| שדה | תיאור | אורך השדה |
|---|---|---|
| Option class | מזהה את הארגון או הישות שהגדירו את האפשרות.
הערך 0x0132 מציין ש-Google היא הישות המגדירה. |
16 ביט |
| סוג | מזהה את סוג האפשרות בתוך מחלקה. הערך
0x01 מציין את האפשרות 'מזהה רשת'.
מידע נוסף זמין במאמר בנושא אפשרויות של מנהור. |
8 ביטים |
| R | דגלי הבקרה של האפשרויות שמורים לשימוש עתידי. הביטים האלה צריכים להיות אפס (0) בזמן השידור, וצריך להתעלם מהם בזמן הקבלה. | 3 ביטים |
| Len | אורך המטען הייעודי (payload) של האפשרות במדרגות של 4 בייטים. מטען הייעוד של מזהה הרשת הוא 32 ביט (4 בייט), ולכן האורך של האפשרות הזו מוגדר כ-1. | 5 ביטים |
| קובץ Cookie של רשת | קובץ ה-Cookie האטום של הרשת, שמזהה רשת וירטואלית. | 28 ביט |
| R | שמור לשימוש בעתיד. הערך צריך להיות אפס (0) בהעברה וצריך להתעלם ממנו בקבלה. | 2 ביטים |
| T | מציין את העברת ה-TLS למעבד אחר עבור המנה הארוזה. לא בשימוש. | 1-ביט |
| D | מציין את הכיוון של החבילה. הערך אפס (0) מציין מנה (packet) של תעבורת נתונים נכנסת, והערך אחד (1) מציין מנה של תעבורת נתונים יוצאת במכונה הווירטואלית (VM) המשוכפלת. בתגובות של תעבורת נתונים יוצאת ישירה לאינטרנט, מכשיר הרשת משנה את הביט הזה מ-1 ל-0. |
1-ביט |
מזהה נקודת הקצה
אפשרות מזהה נקודת הקצה, שנקראת גם 'קובץ Cookie של נקודת הקצה', מזהה באופן ייחודי את נקודת הלכידה, שהיא בקר ממשק רשת במכונה וירטואלית של Google Cloud. האפשרות הזו מזוהה לפי מחלקת האפשרויות 0x0132 (Google) והסוג 0x02 (מזהה נקודת קצה). נתוני האפשרות הם ערך אטום של 128 ביט.
בתרשים הבא מוצג פורמט האפשרויות בחבילת GENEVE.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x02 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Endpoint cookie +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
בטבלה הבאה מתוארים שדות האפשרויות שמוצגים בתרשים שלמעלה:
| שדה | תיאור | אורך השדה |
|---|---|---|
| Option class | מזהה את הארגון או הישות שהגדירו את האפשרות.
הערך 0x0132 מציין ש-Google היא הישות המגדירה. |
16 ביט |
| סוג | מזהה את סוג האפשרות בתוך מחלקה. הערך
0x02 מציין את האפשרות Endpoint ID.
מידע נוסף זמין במאמר בנושא אפשרויות של מנהור. |
8 ביטים |
| R | דגלי הבקרה של האפשרויות שמורים לשימוש עתידי. הביטים האלה צריכים להיות אפס (0) בזמן השידור, וצריך להתעלם מהם בזמן הקבלה. | 3 ביטים |
| Len | אורך המטען הייעודי (payload) בכפולות של 4 בייטים. המטען הייעודי (payload) של מזהה נקודת הקצה הוא 128 ביט (16 בייט), ולכן האורך של האפשרות הזו מוגדר כ-4. | 5 ביטים |
| קובץ Cookie של נקודת קצה | מזהה אטום של נקודת הלכידה (כרטיס רשת של מכונה וירטואלית). | 128 ביט |
מזהה פרופיל
האפשרות profile ID (מזהה פרופיל) מזהה את קבוצת פרופיל האבטחה של השיקוף שמוחלת על התנועה. האפשרות הזו מזוהה לפי מחלקת האפשרויות 0x0132(Google) והסוג 0x03 (מזהה פרופיל). נתוני האפשרות הם מזהה של 64 ביט
שמתאים לשדה data_path_id בקבוצת פרופילי האבטחה. יכול להיות שבמכשיר היעד נאכפת מדיניות אבטחה שמבוססת על מזהה קבוצת הפרופילים.
בתרשים הבא מוצג פורמט האפשרויות בחבילת GENEVE.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x03 |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Profile ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
בטבלה הבאה מתוארים שדות האפשרויות שמוצגים בתרשים שלמעלה:
| שדה | תיאור | אורך השדה |
|---|---|---|
| Option class | מזהה את הארגון או הישות שהגדירו את האפשרות.
הערך 0x0132 מציין ש-Google היא הישות המגדירה. |
16 ביט |
| סוג | מזהה את סוג האפשרות בתוך מחלקה. הערך 0x03 מציין את האפשרות 'מזהה פרופיל'.
מידע נוסף זמין במאמר בנושא אפשרויות של מנהור. |
8 ביטים |
| R | דגלי הבקרה של האפשרויות שמורים לשימוש עתידי. הביטים האלה צריכים להיות אפס (0) בזמן השידור, וצריך להתעלם מהם בזמן הקבלה. | 3 ביטים |
| Len | אורך המטען הייעודי (payload) של האפשרות במדרגות של 4 בייטים. מטען הייעודי (payload) של מזהה הפרופיל הוא 64 ביט (8 בייט), ולכן האורך של האפשרות הזו מוגדר כ-2. | 5 ביטים |
| מזהה פרופיל | המזהה של קבוצת פרופילי האבטחה של שיקוף הנתונים. | 64 ביט |
חותמת הזמן
אפשרות חותמת הזמן מציינת את זמן הלכידה של החבילה המקורית במכונה הווירטואלית של המקור. האפשרות הזו מזוהה לפי מחלקת האפשרויות 0x0132 (Google) והסוג 0x0f
(Timestamp).
בתרשים הבא מוצג פורמט האפשרויות בחבילת GENEVE.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x0f |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Timestamp +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
בטבלה הבאה מתוארים שדות האפשרויות שמוצגים בתרשים שלמעלה:
| שדה | תיאור | אורך השדה |
|---|---|---|
| Option class | מזהה את הארגון או הישות שהגדירו את האפשרות.
הערך 0x0132 מציין ש-Google היא הישות המגדירה. |
16 ביט |
| סוג | מזהה את סוג האפשרות בתוך מחלקה. הערך 0x0f מציין את האפשרות של חותמת הזמן.
מידע נוסף זמין במאמר בנושא אפשרויות של מנהור. |
8 ביטים |
| R | דגלי הבקרה של האפשרויות שמורים לשימוש עתידי. הביטים האלה צריכים להיות אפס (0) בזמן השידור, וצריך להתעלם מהם בזמן הקבלה. | 3 ביטים |
| Len | אורך המטען הייעודי (payload) של האפשרות במדרגות של 4 בייטים. מטען הייעודי (payload) של חותמת הזמן הוא 64 ביט (8 בייט), ולכן האורך של האפשרות הזו מוגדר כ-2. | 5 ביטים |
| חותמת הזמן | זמן הלכידה של החבילה המקורית, שמיוצג כננו-שניות מאז ראשית התקופה. הגרנולריות של הננו-שנייה לא מבטיחה דיוק של ננו-שנייה. כדי להבין את היעד הספציפי למדידת רמת השירות (SLO) של דיוק, אפשר לעיין במסמכי התיעוד של המוצר. | 64 ביט |
מזהה יציב של הרשת
האפשרות Network Stable ID (מזהה רשת יציב) מזהה את הרשת של מכונת ה-VM המשוכפלת. האפשרות הזו מזוהה לפי מחלקת האפשרויות 0x0132 (Google) והסוג 0x10 (מזהה יציב ברשת).
בתרשים הבא מוצג פורמט האפשרויות בחבילת GENEVE. המזהה היציב של הרשת מורכב ממספר הפרויקט וממזהה הרשת.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x10 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Project Number +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Network ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
בטבלה הבאה מתוארים שדות האפשרויות שמוצגים בתרשים שלמעלה:
| שדה | תיאור | אורך השדה |
|---|---|---|
| Option class | מזהה את הארגון או הישות שהגדירו את האפשרות.
הערך 0x0132 מציין ש-Google היא הישות המגדירה. |
16 ביט |
| סוג | מזהה את סוג האפשרות בתוך מחלקה. הערך 0x10 מציין את האפשרות Network Stable ID.
מידע נוסף זמין במאמר בנושא אפשרויות של מנהור. |
8 ביטים |
| R | דגלי הבקרה של האפשרויות שמורים לשימוש עתידי. הביטים האלה צריכים להיות אפס בזמן השידור, וצריך להתעלם מהם בזמן הקבלה. | 3 ביטים |
| Len | אורך המטען הייעודי (payload) של האפשרות במדרגות של 4 בייטים. מטען הייעודי (payload) של מזהה הרשת הוא 128 ביט (16 בייט), ולכן האורך של האפשרות הזו מוגדר ל-4. | 5 ביטים |
| מזהה יציב של הרשת | הרשת של המכונה הווירטואלית המשוכפלת. | 128 ביט (64 ביט של מספר הפרויקט ו-64 ביט של מזהה הרשת) |
פורמטים של כותרות GENEVE ל-Network Security Integration
בקטע הזה מתוארים פורמטים של כותרות GENEVE שנעשה בהם שימוש בשירותי Network Security Integration.
פורמט חבילת GENEVE ב-IPv4
פורמט חבילת ה-GENEVE מבצע אנקפסולציה של כותרת קומפקטית של מנהרה ב-UDP על IPv4. כותרת קטנה וקבועה של מנהרה מספקת מידע על אמצעי בקרה, יכולות בסיסיות ויכולת פעולה הדדית.
התרשים הבא מציג את פורמט חבילת GENEVE ב-IPv4.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of service| Total length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to live | Proto=17 (UDP)| Header checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
בטבלה הבאה מתוארים שדות הכותרת של IPv4 שמוצגים בתרשים שלמעלה:
| שדה | תיאור |
|---|---|
| Proto=17 (תמיד UDP ל-GENEVE) | מציין שהמטען הייעודי (payload) שעבר אנקפסולציה משתמש בפרוטוקול UDP. |
| כתובת המקור | כתובת ה-IP של השער של רשת המשנה של המפיק. |
| כתובת היעד | כתובת ה-VIP של מאזן העומסים בבעלות הלקוח. |
כותרת UDP
הכותרת של פרוטוקול UDP RFC 0768 מכילה נתונים, ושומרת על הסמנטיקה של Ethernet וכתובת IP ללא חיבור. הוא מספק גם אנטרופיה לנתבים שמבצעים ריבוי נתיבים בעלות שווה (ECMP).
בתרשים הבא מוצג פורמט הכותרת של חבילת Geneve שעברה אנקפסולציה בתוך UDP.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source port = | Dest port = 6081 (Geneve)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| UDP length | UDP checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
בטבלה הבאה מתוארים שדות הכותרת של UDP שמוצגים בתרשים שלמעלה:
| שדות | תיאור |
|---|---|
| יציאת המקור | גיבוב אטום על פני כל הטווח של 16 ביט. הערך זהה לכל החבילות ששייכות לזרימה אחת שעברה אנקפסולציה (בשני הכיוונים). |
| יציאת היעד | מספר יציאת היעד שמוגדר לתעבורת GENEVE, שהוא 6081. |
| אורך ה-UDP | האורך הכולל של חבילת הנתונים של UDP, כולל כותרת ה-UDP וחבילת ה-GENEVE שעברה אנקפסולציה. |
| סיכום ביקורת (checksum) של UDP | ערך הצ'קסום של חבילת הנתונים של UDP, שמשמש לזיהוי שגיאות. |
שילוב מחוץ לפס
בדיקות אבטחה על עותק נפרד משתמשות במנהרת GENEVE כדי להצפין ולשלוח מנות משוכפלות. כתובת ה-IP הווירטואלית (VIP) של מאזן העומסים הפנימי של האוסף מקבלת את החבילות עם הערות של מטא-נתונים ספציפיים ל- Google Cloud, כמו קובץ ה-Cookie של הרשת.
שילוב מחוץ לפס משתמש באפשרויות הבאות Google Cloudהספציפיות ל-GENEVE: קובץ Cookie של הרשת, קובץ Cookie של נקודת הקצה ומזהה הפרופיל. מידע נוסף זמין במאמר בנושא אפשרויות GENEVE ספציפיות ל-Google Cloud.
בתרשים הבא אפשר לראות איך שילוב מחוץ לפס משתמש באפשרויות GENEVE ספציפיות למצב שיקוף ישיר. Google Cloud
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=0| Opt len |O|C| Rsvd | Protocol type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual network identifier (VNI) = 0 | Rsvd. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x01 |R|R|R| Len=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network cookie |R|R|T|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x02 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Endpoint cookie +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x03 |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Profile ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
בתרשים הבא מוצג איך שילוב מחוץ לפס משתמש באפשרויות GENEVE ספציפיות ל- Google Cloudבמצב ברוקר של שיקוף (גרסת Preview).
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=0| Opt len |O|C| Rsvd | Protocol type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual network identifier (VNI) = 0 | Rsvd. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x01 |R|R|R| Len=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network cookie |R|R|T|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x02 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Endpoint cookie +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x03 |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Profile ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x0f |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Timestamp +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option class=0x0132 (Google) | Type=0x10 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Project Number +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Network ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
שילוב בתוך הלהקה
שילוב בתוך פס התדרים משתמש במנהרת GENEVE כדי להצפין ולשלוח מנות שנקלטו. כתובת ה-IP הווירטואלית (VIP) של מאזן העומסים הפנימי של היצרן מקבלת את החבילות עם הערות של מטא-נתונים ספציפיים ל- Google Cloud, כמו קובץ ה-Cookie של הרשת.
שילוב בתוך פס התדרים משתמש באפשרויות הבאות Google Cloudהספציפיות ל-GENEVE: קובץ Cookie של הרשת, קובץ Cookie של נקודת הקצה ומזהה הפרופיל. מידע נוסף זמין במאמר בנושא אפשרויות GENEVE ספציפיות ל-Google Cloud.
שילוב בתוך פס התדרים תומך בהחדרה מחדש של מנות לנקודת הקצה המקורית באמצעות מנהרת GENEVE לוגית דו-כיוונית, שמורכבת משתי מנהרות GENEVE חד-כיווניות. אחרי שמכשיר הרשת של המפיק מיירט מנה ובודק אותה, הוא יכול להשליך את המנה או להחדיר אותה מחדש.
ההתנהגות של ההחדרה מחדש תלויה במודל הפריסה של השילוב:
הזרקה חוזרת רגילה בתוך הפס:
בתנועה פנימית ונכנסת, מכשיר הרשת בודק את החבילה המקורית ומחדיר אותה מחדש לרשת הצרכנית. במהלך ההחדרה מחדש, המכשיר מבצע את הפעולות הבאות:
- מבצעת אנקפסולציה מחדש של החבילה המקורית באמצעות כותרת ה-GENEVE המקורית (אותן אפשרויות).
- שומר את הביט של הכיוון (
D) באפשרות Network ID כפי שהתקבל. - החלפה בין כתובות המקור והיעד בכותרת ה-IP החיצונית.
- בודק שסכומי הביקורת של המנות נכונים.
החדרה מחדש של תגובה ישירה ליציאה מהאינטרנט:
כשמגדירים את מכשיר הרשת לתעבורת נתונים יוצאת ישירה לאינטרנט, הוא שולח את חבילת הנתונים היוצאת שנבדקה ישירות לאינטרנט, ומחדיר מחדש את חבילת הנתונים של התגובה מהאינטרנט למכונה הווירטואלית של הצרכן. במהלך ההחדרה מחדש, המכשיר מבצע את הפעולות הבאות:
- החבילה מכילה את מנת התגובה שהתקבלה מהאינטרנט באמצעות GENEVE, כולל האפשרויות מחבילת הנתונים המקורית היוצאת.
- הופך את הביט של הכיוון (
D) באפשרות Network ID מ-1(תעבורת נתונים יוצאת (egress)) ל-0(תעבורת נתונים נכנסת (ingress)). - בודק שסכומי הביקורת של המנות נכונים.
בתרשים הבא אפשר לראות איך משתמשים באפשרויות GENEVE ספציפיות Google Cloudבשילוב בתוך הפס.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=0| Opt len |O|C| Rsvd | Protocol type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual network identifier (VNI) = 0 | Rsvd. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option Class=0x0132 (Google) | Type=0x01 |R|R|R| Len=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network Cookie |R|R|T|D|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option Class=0x0132 (Google) | Type=0x02 |R|R|R| Len=4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Endpoint Cookie +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option Class=0x0132 (Google) | Type=0x03 |R|R|R| Len=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Profile ID +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
דרישות לגבי GENEVE encapsulation ו-MTU
יחידת השידור המקסימלית (MTU) היא הגודל, בבייטים, של מנת ה-IP הגדולה ביותר שאפשר להכניס למסגרת Ethernet, כולל כותרות IP, כותרות פרוטוקול של שכבה 4 ונתונים של שכבה 4. מידע נוסף זמין במאמר בנושא יחידת שידור מקסימלית.
ברשתות Google Cloud , ה-MTU המותר הוא 8,588 בייט. עם זאת, עבור Network Security Integration, צריך לשמור 308 בייטים עבור תקורה של GENEVE encapsulation. לצורך השמירה הזה יש השלכות על רשתות צרכנים ורשתות יצרנים:
MTU של רשת הצרכן: ה-MTU של רשת הצרכן לא יכול להיות גדול מ-8,588 בייט. המגבלה הזו מבטיחה שיהיה מספיק מקום לתקורה של GENEVE בלי לחרוג מה-MTU המקסימלי.
MTU של רשת המפיק: ה-MTU של רשת המפיק צריך להיות גדול לפחות ב-396 בייט מה-MTU של רשת הצרכן. ההקצאה הזו כוללת את האנקפסולציה הנוספת של GENEVE.
אם אין מספיק מגבלות MTU כדי להתאים את האנקפסולציה של GENEVE, יכול להיות שהחבילה תיפסל. זה יכול לקרות ברמת הרשת הווירטואלית או במערכת ההפעלה של המכונה הווירטואלית.