פיצול IP וחיבור מחדש של קוד: Mylinking™ Network Packet Broker מזהה מנות IP מקוטעות

מָבוֹא

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

פיצול והרכבה מחדש של IP

לקישורי נתונים שונים יש יחידות שידור מקסימליות (MTU) שונות; לדוגמה, לקישור נתונים FDDI יש MTU של 4352 בתים ולקישור נתונים Ethernet של 1500 בתים. MTU הוא ראשי תיבות של Maximum Transmission Unit ומתייחס לגודל החבילה המקסימלי שניתן להעביר ברשת.

FDDI (ממשק נתונים מבוזר בסיבים) הוא תקן רשת מקומית (LAN) במהירות גבוהה המשתמשת בסיב אופטי כמדיום שידור. יחידת השידור המקסימלית (MTU) היא גודל החבילה המקסימלי שניתן להעביר באמצעות פרוטוקול שכבת קישור נתונים. ברשתות FDDI, גודל ה-MTU הוא 4352 בתים. משמעות הדבר היא שגודל החבילה המקסימלי שניתן להעביר באמצעות פרוטוקול שכבת קישור הנתונים ברשת FDDI הוא 4352 בתים. אם החבילה שיש להעביר חורגת מגודל זה, יש לפרק אותה למספר מקטעים המתאימים לגודל ה-MTU לצורך שידור והרכבה מחדש במקלט.

עבור Ethernet, גודל ה-MTU הוא בדרך כלל 1500 בתים. משמעות הדבר היא ש-Ethernet יכול להעביר מנות בגודל של עד 1500 בתים. אם גודל החבילה חורג ממגבלת ה-MTU, החבילה מפוצלת לקטעים קטנים יותר לצורך שידור ומורכבת מחדש ביעד. הרכבה מחדש של נתוני ה-IP המפוצלים יכולה להתבצע רק על ידי מארח היעד, והנתב לא יבצע פעולת הרכבה מחדש.

דיברנו גם על מקטעי TCP קודם לכן, אבל MSS הוא ראשי תיבות של Maximum Segment Size, והוא ממלא תפקיד חשוב בפרוטוקול TCP. MSS מתייחס לגודל מקטע הנתונים המרבי המותר להישלח בחיבור TCP. בדומה ל-MTU, MSS משמש להגבלת גודל החבילות, אך הוא עושה זאת בשכבת התעבורה, שכבת פרוטוקול TCP. פרוטוקול TCP מעביר את הנתונים של שכבת היישומים על ידי חלוקת הנתונים למקטעי נתונים מרובים, וגודל כל מקטע נתונים מוגבל על ידי ה-MSS.

ה-MTU של כל קישור נתונים שונה מכיוון שכל סוג שונה של קישור נתונים משמש למטרות שונות. בהתאם למטרת השימוש, ניתן לאחסן MTUs שונים.

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

 פיצול והרכבה מחדש של IP

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

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

מתווך חבילות רשת Mylinking ™יכול לזהות באופן אוטומטי סוגים שונים של פרוטוקולי מנהרה VxLAN/NVGRE/IPoverIP/MPLS/GRE וכו', ניתן לקבוע זאת בהתאם לפרופיל המשתמש בהתאם לפלט זרימת המנהרה של המאפיינים הפנימיים או החיצוניים.

○ הוא יכול לזהות חבילות תוויות VLAN, QinQ ו-MPLS

○ יכול לזהות את ה-VLAN הפנימי והחיצוני

○ ניתן לזהות חבילות IPv4/IPv6

○ יכול לזהות חבילות מנהרה של VxLAN, NVGRE, GRE, IPoverIP, GENEVE, MPLS

○ ניתן לזהות חבילות IP מקוטעות (תמיכה בזיהוי פיצול IP ותומך בהרכבה מחדש של פיצול IP על מנת ליישם סינון תכונות L4 על כל חבילות פיצול ה-IP. יישום מדיניות פלט תעבורה.)

מדוע IP מקוטע ו-TCP מקוטע?

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

נניח שיש חבילה גדולה שאינה מחולקת בשכבת ה-TCP ואובדת במעבר; TCP ישדר אותה מחדש, אך רק בכל החבילה הגדולה (למרות ששכבת ה-IP מפצלת את הנתונים לחבילות קטנות יותר, שלכל אחת מהן אורך MTU). הסיבה לכך היא ששכבת ה-IP לא אכפת להעברה אמינה של נתונים.

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

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

אם TCP מקוטע, האם שכבת ה-IP אינה מקוטעת?

בדיון לעיל, הזכרנו שלאחר פיצול TCP אצל השולח, אין פיצול בשכבת ה-IP. עם זאת, ייתכנו התקני שכבת רשת אחרים לאורך קישור התעבורה שעשויים להיות בעלי יחידת שידור מקסימלית (MTU) קטנה יותר מ-MTU אצל השולח. לכן, למרות שהחבילה פוצלה אצל השולח, היא פוצלת שוב כשהיא עוברת דרך שכבת ה-IP של התקנים אלה. בסופו של דבר, כל ה-shards יורכבו אצל המקבל.

אם נוכל לקבוע את ה-MTU המינימלי על פני כל הקישור ולשלוח נתונים באורך זה, לא יתרחש פרגמנטציה ללא קשר לאיזה צומת הנתונים מועברים. MTU מינימלי זה על פני כל הקישור נקרא נתיב MTU (PMTU). כאשר חבילת IP מגיעה לנתב, אם ה-MTU של הנתב קטן מאורך החבילה ודגל DF (Do not Fragment) מוגדר ל-1, הנתב לא יוכל לפצל את החבילה ויכול רק להשליך אותה. במקרה זה, הנתב מייצר הודעת שגיאה של ICMP (Internet Control Message Protocol) בשם "Fragmentation Needed But DF Set". הודעת שגיאה זו של ICMP תישלח חזרה לכתובת המקור עם ערך ה-MTU של הנתב. כאשר השולח מקבל את הודעת השגיאה של ICMP, הוא יכול להתאים את גודל החבילה בהתבסס על ערך ה-MTU על מנת להימנע ממצב של פרגמנטציה אסורה שוב.

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

הבנה בסיסית של IPv6

IPv6 היא גרסה 6 של פרוטוקול האינטרנט, שהיא יורשתו של IPv4. IPv6 משתמש באורך כתובת של 128 סיביות, שיכול לספק יותר כתובות IP מאשר אורך הכתובת של 32 סיביות של IPv4. הסיבה לכך היא שמרחב הכתובות של IPv4 מתכלה בהדרגה, בעוד שמרחב הכתובות של IPv6 גדול מאוד ויכול לענות על צרכי האינטרנט העתידי.

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

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

תַקצִיר

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


זמן פרסום: 7 באוגוסט 2025