Maximum Transmission Unit
בתקשורת מחשבים, המונח Maximum Transmission Unit (בקיצור MTU ) מציין את גודל המנה המקסימלי (בבתים) ששכבה נתונה בפרוטוקול מסוים יכולה להעביר. ערכי ה-MTU יכולים להיקבע מראש (לדוגמה, ברשת Ethernet) או ברגע ההתקשרות (כמו בחיבור PPP). ככל שה-MTU יותר גבוה, כך רוחב הפס מנוצל בצורה יעילה יותר. כשה-MTU גבוה מדי, הזמן הדרוש להעברת מנה אחת גורם לעיכוב בהעברה של המנות הבאות אחריה (ראו: לאג). לדוגמה, מנה של 1500 בית - המנה הגבוהה ביותר המותרת בשכבת הקו של פרוטוקול Ethernet ומכאן המנה הגבוהה ביותר ברוב אזורי האינטרנט - תחסום מודם של 14.4k למשך כשנייה אחת.
פרוטוקול IP
חבילת פרוטוקולי TCP/IP תוכננה כך שתוכל לקשר בין רשתות רבות מסוגים שונים. בדרך כלל, כל צומת ברשת מכיר רק את ה-MTU שלו ושל הצמתים הסמוכים לו, לכן ייתכן שמנה שנשלחת מצומת אחד לצומת אחר תעבור דרך צמתים שה-MTU שלהם נמוך מגודל המנה.
כדי לפתור בעיה זו, פרוטוקול IP מחלק את המנה לתתי-מנות בגודל המקסימלי שמאפשר אותו צומת (המנה האחרונה תהיה בגודל השארית של אותה חלוקה). לשיטה זו מספר חסרונות:
- כאשר ה-MTU קטן מגודל המנה שעוברת בצומת, יש לחלק את המנה לשתי תתי-מנות לפחות. כתוצאה מכך גדל מספרם של הפתיחים והסוגרים ברשת, ולכן התקורה של הרשת עולה.
- כאשר מנה עוברת בדרך יותר מחלוקה אחת, התקורה תהיה לרוב גבוהה יותר מאשר אם המנה הייתה מחולקת מראש למנות בגודל קטן מספיק.
- אם אחת מתת-המנות אובדת בדרך, יש להעביר מחדש את המנה כולה.
קביעת ה-MTU של נתיב (Path MTU)
ה-Path MTU מוגדר כגודל המנה המקסימלי שיכול לעבור בנתיב נתון, מבלי שזו תצטרך להתפצל לתת-מנות. כדי לקבוע את ערך ה-Path MTU בפרוטוקול IP, מסמנים את האופציה DF (Don't Fragment) בפתיח של החבילה. כאשר החבילה מגיעה לצומת שה-MTU שלה נמוך מגודל החבילה, נשלחת בחזרה חבילת ICMP עם ה-MTU של הצומת. התהליך נמשך עד שמגיעים לשרת היעד. הבעיה בשיטה זו היא, שכיום מספר גדול של שרתים חוסמים את התעבורה של חבילות ICMP כדי למנוע התקפת מניעת שירות. בנוסף לכך, בפרוטוקול IP הנתיב משתנה באופן דינמי בעקבות אירועים שונים, ולכן ה-Path MTU עשוי להשתנות.