logo

פרוטוקול UDP

ברשת מחשבים, UDP מייצג פרוטוקול User Datagram. ה-David P. Reed פיתח את פרוטוקול UDP בשנת 1980. הוא מוגדר ב-RFC 768, והוא חלק מפרוטוקול TCP/IP, ולכן זהו פרוטוקול סטנדרטי דרך האינטרנט. פרוטוקול UDP מאפשר ליישומי המחשב לשלוח את ההודעות בצורה של נתונים גרמים ממכונה אחת למכונה אחרת דרך רשת פרוטוקול האינטרנט (IP). ה-UDP הוא פרוטוקול תקשורת חלופי לפרוטוקול TCP (פרוטוקול בקרת שידור). בדומה ל-TCP, UDP מספקת מערכת כללים השולטת כיצד יש להחליף את הנתונים דרך האינטרנט. ה-UDP פועל על ידי כיבוי הנתונים לתוך החבילה ומתן מידע כותרת משלו לחבילה. לאחר מכן, חבילת UDP זו מובלעת לחבילת ה-IP ונשלחת ליעדה. גם ה TCP ו-UDP פרוטוקולים שולחים את הנתונים דרך רשת פרוטוקול האינטרנט, אז זה ידוע גם בשם TCP/IP ו-UDP/IP. ישנם הבדלים רבים בין שני הפרוטוקולים הללו. UDP מאפשר לתהליך לעבד תקשורת, בעוד שה-TCP מספק תקשורת מארח לארח. מכיוון ש-UDP שולחת את ההודעות בצורה של דטאגרמות, זה נחשב לאמצעי התקשורת המתאמץ ביותר. TCP שולח את החבילות הבודדות, כך שזהו אמצעי הובלה אמין. הבדל נוסף הוא שה-TCP הוא פרוטוקול מכוון חיבור ואילו ה-UDP הוא פרוטוקול חסר חיבור מכיוון שהוא אינו דורש שום מעגל וירטואלי כדי להעביר את הנתונים.

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

תכונות של פרוטוקול UDP

להלן התכונות של פרוטוקול UDP:

    פרוטוקול שכבת תחבורה

UDP הוא פרוטוקול התקשורת של שכבת התחבורה הפשוטה ביותר. הוא מכיל כמות מינימלית של מנגנוני תקשורת. זה נחשב לפרוטוקול לא אמין, והוא מבוסס על שירותי משלוח במאמץ הטוב ביותר. UDP אינו מספק מנגנון אישור, מה שאומר שהמקבל לא שולח את האישור עבור החבילה שהתקבלה, והשולח גם לא ממתין לאישור עבור החבילה שהוא שלח.

    חסר חיבור

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

מסירה מוזמנת של נתונים אינה מובטחת.

במקרה של UDP, דגימות הנתונים נשלחות בסדר מסויים יתקבלו באותו סדר לא מובטח שכן דגימות הנתונים אינן ממוספרות.

rudyard kipling if הסבר
    נמלים

פרוטוקול UDP משתמש במספרי יציאות שונים כך שניתן לשלוח את הנתונים ליעד הנכון. מספרי היציאה מוגדרים בין 0 ל-1023.

    שידור מהיר יותר

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

    מנגנון הכרה

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

    פלחים מטופלים באופן עצמאי.

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

    חסר מדינה

זהו פרוטוקול חסר מדינה שפירושו שהשולח אינו מקבל את האישור עבור החבילה שנשלחה.

מדוע אנו דורשים את פרוטוקול UDP?

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

פורמט כותרת UDP

פרוטוקול UDP

ב-UDP, גודל הכותרת הוא 8 בתים, וגודל החבילה הוא עד 65,535 בתים. אבל גודל מנה זה אינו אפשרי מכיוון שהנתונים צריכים להיות מובלעים ב-IP datagram, וחבילת IP, גודל הכותרת יכול להיות 20 בתים; לפיכך, המקסימום של UDP יהיה 65,535 פחות 20. גודל הנתונים שחבילת UDP יכולה לשאת יהיה 65,535 מינוס 28 כ-8 בתים לכותרת של חבילת UDP ו-20 בתים עבור כותרת IP.

כותרת UDP מכילה ארבעה שדות:

    מספר יציאת מקור:זהו מידע של 16 סיביות שמזהה איזו יציאה לא תשלח את החבילה.מספר יציאת יעד:זה מזהה איזו יציאה עומדת לקבל את המידע. זהו מידע של 16 סיביות המשמש לזיהוי שירות ברמת היישום במחשב היעד.אורך:זהו שדה של 16 סיביות שמציין את כל האורך של חבילת UDP הכוללת גם את הכותרת. הערך המינימלי יהיה 8 בתים מכיוון שגודל הכותרת הוא 8 בתים.סכום בדיקה:זהו שדה של 16 סיביות, וזה שדה אופציונלי. שדה בדיקת סכום זה בודק האם המידע מדויק או לא, מכיוון שקיימת אפשרות שהמידע עלול להיות פגום בזמן השידור. זהו שדה אופציונלי, מה שאומר שזה תלוי באפליקציה, אם היא רוצה לכתוב את סכום הבדיקה או לא. אם הוא לא רוצה לכתוב את סכום הבדיקה, אז כל 16 הסיביות הם אפס; אחרת, הוא כותב את סכום הבדיקה. ב-UDP, שדה ה-checksum מוחל על כל החבילה, כלומר, כותרת כמו גם חלק נתונים, בעוד שב-IP, שדה ה-checksum מוחל רק על שדה הכותרת.

מושג של תור בפרוטוקול UDP

פרוטוקול UDP

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

UDP מטפל בשליחה וקבלה של מנות UDP בעזרת הרכיבים הבאים:

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

מספר תהליכים רוצים להשתמש בשירותי UDP. ה-UDP מרבב ומפרק את התהליכים כך שהתהליכים המרובים יכולים לפעול על מארח יחיד.

מגבלות

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

יתרונות

  • זה מייצר מספר מינימלי של תקורה.