בדומה ל-TCP גםUDP משתמש בפורטים (ports), על-מנת להפריד בין התקשרויות בנושאים שונים.
ב-UDP מוקצות 16סיביות עבור כל פורט. כלומר, ערך פורט יהיה בין 0 ל-65,535.למספר הפורט יש חשיבות, שכן מספרים שונים משמשים לשימושים שונים:
- פורט 0 שמור והשימוש בו הוא במקרה שבו השולח אינו מצפה לקבל תשובה.
- מספרי הפורטים 1 עד 1,023 שמורים לפורטים "ידועים" (Well-Known Ports).
- מספרי הפורטים 1,024 עד 49,151 הם פורטים רשומים לפרוטוקולים מסוימים או חברות מסוימות.
- מספרי הפורטים 49,152 עד 65,535 נועדו לשימוש זמני על ידי לקוחות בפניות אל השרת.
בניגוד לפרוטוקולTCP בו כל ייסוד קשר בין שני מחשבים "תופס" מספרפורט באופן בלעדי, בפרוטוקול UDP יכול מחשב להתקשר עם מספר מחשבים על אותו מספרפורט במקביל.
מאחר שפרוטוקול UDP אינו מבטיח הגעת הודעות בסדר מסוים, או הגעת הודעות כלל ולעומת זאת מספק זמן דיוור נמוך עד להגעה ליעד, מבנה החבילה רזה.התקורה של החבילה מכילה פתיח באורך 64סיביות בלבד.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
| פורט המקור | פורט היעד |
| אורך החבילה | Checksum |
- פורט המקור (16 סיביות) - שדה המכיל את מספר הפורט במחשב המקור. שדה אופציונלי, מאחר שפרוטוקול UDP לא מקיים בהכרח תקשורת דו כיוונית. במקרה ואינו בשימוש השדה יכיל אפסים.
- פורט היעד (16 סיביות) - שדה המכיל את מספר הפורט במחשב היעד.
- אורך החבילה (16 סיביות) - שדה המכיל את אורך פתיח הUDP והמידע ביחידות שלבתים. יש להבדיל משדה "אורך החבילה" שבפתיח של חבילתIPv4 שמכיל את אורך החבילה כולה, בעוד ש"אורך החבילה" בפתיח הUDP לא מכיל את פתיח פקטת הIPv4, שגודלו נע בין 20 ל60 בתים.
- סיכום ביקורת (16 סיביות) -checksum, מספר האימות של הפתיח והנתונים. שדה אופציונלי, שבמידה ולא ימומש יכיל רשומה מלאה ב-0 בינארי.
אימות המידע מתבצע על ידי הצד השולח והצד המקבל, כאשר הצד השולח מאחסן את תוצאת החישוב בשדה המתאים והצד המקבל משווה את תוצאתו עם ערך השדה הקיים. אם התוצאה זהה החבילה או המקטע תקין ואפשר להשתמש בו. אם לא אז זורקים או מתעלמים מהחבילה או מהמקטע הפגום.
פונקציית ה-Checksum מבצעת את החישוב הבא: חילוק ההודעה לקטעים של 16 סיביות, סכימת כל הקטעים והוספת השארית. לאחר מכן התוצאה נשללת לפי ייצוג One's Complement - כל ביט 0 מוחלף ב-1 ולהפך.[2]
כקלט לפונקציית ה-Checksum מוכנסים: חבילת הUDP (הפתיח עם שדה checksum מאופס ושדה המידע), כתובות המקור והיעד שלIP, הפרוטוקול המוגדר בפתיח הIP (זהו שדה באורך 8 סיביות שמרחיבים ב8 סיביות של אפס משמאל), ושדה נוסף זהה לאורך חבילת הUDP. במידה והחבילה מכילה מספר של סיביות שאינו מתחלק ב-16, הקלט לפונקציה יהיה הרחבה של החבילה עם אפס בסופה.