מה ההבדל בין TCP ל- UDP?

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

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

המשותף להם

קשורים: כיצד למצוא את כתובות ה- IP הפרטיות והציבוריות שלך

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

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

איך TCP עובד

TCP הוא הפרוטוקול הנפוץ ביותר באינטרנט.

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

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

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

קשורים: הבנת סייר התהליכים

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

איך עובד UDP

קשורים: כיצד חביון יכול לגרום אפילו לחיבורי אינטרנט מהירים להרגיש איטי

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

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

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

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

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

אז מה?

קשורים: כיצד להשתמש ב- Wireshark כדי ללכוד, לסנן ולבדוק מנות

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

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