- שכבת התחבורה מיוצגת על ידי שני פרוטוקולים: TCP ו-UDP.
- פרוטוקול ה-IP בשכבת הרשת מספק דאטהגרם ממארח מקור למארח היעד.
- כיום, מערכת ההפעלה תומכת בסביבות מרובות משתמשים ומרובי עיבוד, תוכנית ביצוע נקראת תהליך. כאשר מארח שולח הודעה למארח אחר פירושו שתהליך המקור שולח תהליך לתהליך יעד. פרוטוקולי שכבת התחבורה מגדירים כמה חיבורים ליציאות בודדות הידועות בשם יציאות פרוטוקול.
- פרוטוקול IP הוא פרוטוקול מארח למארח המשמש להעברת מנה ממארח המקור למארח היעד בעוד פרוטוקולי שכבת התחבורה הם פרוטוקולי יציאה ליציאה הפועלים בחלק העליון של פרוטוקולי ה-IP כדי לספק את החבילה מהמקור יציאה לשירותי IP, ומשירותי IP ליציאת היעד.
- כל יציאה מוגדרת על ידי כתובת מספר שלם חיובית, והיא בת 16 סיביות.
UDP
- UDP מייצג פרוטוקול יחידת נתונים של משתמש .
- UDP הוא פרוטוקול פשוט והוא מספק פונקציונליות הובלה ללא רצף.
- UDP הוא פרוטוקול ללא חיבור.
- סוג זה של פרוטוקול משמש כאשר אמינות ואבטחה פחות חשובים מהמהירות והגודל.
- UDP הוא פרוטוקול ברמת תעבורה מקצה לקצה שמוסיף כתובות ברמת תעבורה, בקרת שגיאות בדיקת סכום ומידע על אורך לנתונים מהשכבה העליונה.
- החבילה המופקת על ידי פרוטוקול UDP ידועה כ- User Datagram.
פורמט Datagram משתמש
לנתונים של המשתמש יש כותרת של 16 בתים שמוצגת להלן:
איפה,
כתובת יציאת מקור: | הוא מגדיר את הכתובת של תהליך הבקשה שמסר הודעה. כתובת יציאת המקור היא של כתובת של 16 סיביות.
כתובת נמל היעד: | הוא מגדיר את הכתובת של תהליך הבקשה שיקבל את ההודעה. כתובת יציאת היעד היא של כתובת של 16 סיביות.
אורך כולל: | זה מגדיר את האורך הכולל של הנתונים של המשתמש בבתים. זה שדה של 16 סיביות.
סכום בדיקה: | סכום הבדיקה הוא שדה של 16 סיביות המשמש לזיהוי שגיאות.
חסרונות של פרוטוקול UDP
- UDP מספק פונקציות בסיסיות הדרושות למסירה מקצה לקצה של שידור.
- הוא אינו מספק פונקציות של רצף או סידור מחדש ואינו מציין את החבילה הפגומה בעת דיווח על שגיאה.
- UDP יכול לגלות שהתרחשה שגיאה, אך הוא אינו מציין איזו מנה אבדה מכיוון שהיא אינה מכילה מזהה או מספר רצף של מקטע נתונים מסוים.
TCP
- TCP ראשי תיבות של Transmission Control Protocol.
- הוא מספק שירותי שכבת תחבורה מלאה ליישומים.
- זהו פרוטוקול מכוון חיבור פירושו החיבור שנוצר בין שני קצוות השידור. ליצירת החיבור, TCP מייצר מעגל וירטואלי בין השולח למקלט למשך השידור.
תכונות של פרוטוקול TCP
העברת נתונים בזרם: | פרוטוקול TCP מעביר את הנתונים בצורה של זרם רציף של בתים. TCP מקבץ את הבייטים בצורה של מקטעי TCP ולאחר מכן העביר אותו לשכבת ה-IP לשידור ליעד. TCP עצמו מפלח את הנתונים ומעביר ל-IP.
מהימנות: | TCP מקצה מספר רצף לכל בייט המשודר ומצפה לאישור חיובי מה-TCP המקבל. אם ACK לא מתקבל בתוך מרווח זמן קצוב, הנתונים משודרים מחדש ליעד.
ה-TCP המקבל משתמש במספר הרצף כדי להרכיב מחדש את המקטעים אם הם מגיעים לא בסדר או כדי לחסל את המקטעים הכפולים.
בקרת זרימה: | בעת קבלת TCP שולח אישור בחזרה לשולח המציין את מספר הבתים שהוא יכול לקבל מבלי להציף את המאגר הפנימי שלו. מספר הבתים נשלח ב-ACK בצורה של מספר הרצף הגבוה ביותר שהוא יכול לקבל ללא כל בעיה. מנגנון זה מכונה גם מנגנון חלון.
רִבּוּב: | ריבוי הוא תהליך של קבלת הנתונים מיישומים שונים והעברה ליישומים השונים במחשבים שונים. בקצה המקבל, הנתונים מועברים לאפליקציה הנכונה. תהליך זה ידוע כ-demultiplexing. TCP משדר את החבילה ליישום הנכון על ידי שימוש בערוצים הלוגיים הידועים בשם יציאות.
קשרים לוגיים: | השילוב של שקעים, מספרי רצף וגדלים של חלונות, נקרא חיבור לוגי. כל חיבור מזוהה על ידי זוג השקעים המשמשים את תהליכי השליחה והקבלה.
דופלקס מלא: | TCP מספקת שירות דופלקס מלא, כלומר, זרימת הנתונים בשני הכיוונים בו זמנית. כדי להשיג שירות דופלקס מלא, לכל TCP צריכים להיות מאגרי שליחה וקבלה כך שהמקטעים יוכלו לזרום בשני הכיוונים. TCP הוא פרוטוקול מכוון חיבור. נניח שתהליך א' רוצה לשלוח ולקבל את הנתונים מתהליך ב'. השלבים הבאים מתרחשים: - צור קשר בין שני TCPs.
- נתונים מוחלפים בשני הכיוונים.
- החיבור הופסק.
פורמט פלח TCP
איפה,
כתובת יציאת מקור: | הוא משמש להגדרת הכתובת של תוכנית היישום במחשב מקור. זה שדה של 16 סיביות.
כתובת נמל היעד: | הוא משמש להגדרת הכתובת של תוכנית היישום במחשב יעד. זה שדה של 16 סיביות.
מספר רצף: | זרם נתונים מחולק לשני מקטעי TCP או יותר. שדה מספר הרצף של 32 סיביות מייצג את המיקום של הנתונים בזרם נתונים מקורי.
מספר אישור: | מספר אישור של 32 שדות מאשר את הנתונים ממכשירי תקשורת אחרים. אם שדה ACK מוגדר ל-1, אז הוא מציין את מספר הרצף שהמקלט מצפה לקבל.
אורך כותרת (HLEN): | הוא מציין את גודל כותרת ה-TCP במילים של 32 סיביות. הגודל המינימלי של הכותרת הוא 5 מילים, והגודל המקסימלי של הכותרת הוא 15 מילים. לכן, הגודל המקסימלי של כותרת ה-TCP הוא 60 בתים, והגודל המינימלי של כותרת ה-TCP הוא 20 בתים.
שמורות: | זהו שדה שש סיביות ששמור לשימוש עתידי.
סיביות בקרה: | כל סיביות בשדה בקרה מתפקדת בנפרד ובאופן עצמאי. סיבית בקרה מגדירה את השימוש בקטע או משמשת כבדיקת תוקף עבור שדות אחרים.
ישנם בסך הכל שישה סוגים של דגלים בשדה הבקרה:
דחף: | השדה URG מציין שהנתונים בקטע דחופים.
ACK: | כאשר שדה ACK מוגדר, הוא מאמת את מספר האישור.
PSH: | השדה PSH משמש ליידע את השולח שיש צורך בתפוקה גבוהה יותר, כך שאם אפשר, יש לדחוף נתונים עם תפוקה גבוהה יותר.
RST: | סיבית האיפוס משמשת לאיפוס חיבור ה-TCP כאשר יש בלבול כלשהו במספרי הרצף.
SYN: | השדה SYN משמש לסנכרון מספרי הרצף בשלושה סוגים של מקטעים: בקשת חיבור, אישור חיבור (עם ערכת סיביות ACK) ואישור אישור.
סוֹף: | השדה FIN משמש ליידע את מודול ה-TCP המקבל שהשולח סיים לשלוח נתונים. הוא משמש בסיום חיבור בשלושה סוגים של מקטעים: בקשת סיום, אישור סיום ואישור ביטול. גודל חלון: | החלון הוא שדה של 16 סיביות המגדיר את גודל החלון.
סכום בדיקה: | סכום הבדיקה הוא שדה של 16 סיביות המשמש לזיהוי שגיאות.
מצביע דחוף: | אם דגל URG מוגדר ל-1, אז שדה 16 סיביות זה הוא היסט ממספר הרצף המציין כי מדובר בבת נתונים דחוף אחרון.
אפשרויות וריפוד: | הוא מגדיר את השדות האופציונליים המעבירים את המידע הנוסף למקלט.
הבדלים שחורים TCP ו-UDP
בסיס להשוואה | TCP | UDP |
הַגדָרָה | TCP מקים מעגל וירטואלי לפני העברת הנתונים. | UDP משדר את הנתונים ישירות למחשב היעד מבלי לוודא אם המקלט מוכן לקבל או לא. |
סוג חיבור | זהו פרוטוקול מכוון חיבור | זהו פרוטוקול ללא חיבור |
מְהִירוּת | לְהַאֵט | גָבוֹהַ |
מהימנות | זה פרוטוקול אמין. | זה פרוטוקול לא אמין. |
גודל כותרת | 20 בתים | 8 בתים |
הכרה | הוא ממתין לאישור הנתונים ויש לו את היכולת לשלוח מחדש את החבילות האבודות. | זה לא לוקח את האישור, ולא משדר מחדש את המסגרת הפגומה. |