היום אנו הולכים להתחיל להתמקד ב- TCP. מוקדם יותר בפרק על שכבות הזכרנו נקודה חשובה. בשכבת הרשת ולמטה, מדובר יותר על חיבורי מארח למארח, מה שאומר שהמחשב שלך צריך לדעת היכן מחשב אחר כדי להתחבר אליו. עם זאת, תקשורת ברשת היא לרוב תקשורת בין מעשה ולא תקשורת בין -מכונית. לכן פרוטוקול TCP מציג את מושג היציאה. נמל יכול להיות תפוס על ידי תהליך אחד בלבד, המספק תקשורת ישירה בין תהליכי יישום הפועלים על מארחים שונים.
משימת שכבת ההובלה היא כיצד לספק שירותי תקשורת ישירה בין תהליכי יישום הפועלים על מארחים שונים, ולכן היא ידועה גם כפרוטוקול מקצה לקצה. שכבת ההובלה מסתירה את פרטי הליבה של הרשת, ומאפשרת לתהליך היישום לראות כאילו יש ערוץ תקשורת הגיוני לקצה בין שתי ישויות שכבת התחבורה.
TCP מייצג פרוטוקול בקרת הילוכים והוא ידוע כפרוטוקול מונחה חיבור. המשמעות היא שלפני יישום אחד יכול להתחיל לשלוח נתונים לשני, שני התהליכים צריכים לעשות לחיצת יד. לחיצת יד היא תהליך מחובר לוגית המבטיח העברה אמינה וקבלה מסודרת של נתונים. במהלך לחיצת היד נקבע חיבור בין מארחי המקור למארחי היעד על ידי החלפת סדרה של מנות בקרה והסכמה על כמה פרמטרים וכללים בכדי להבטיח העברת נתונים מוצלחת.
מה זה TCP? (Mylinking'sברז רשתוכןמתווך מנות רשתיכול לעבד גם מנות TCP או UDP)
TCP (פרוטוקול בקרת הילוכים) הוא פרוטוקול תקשורת מכוונת חיבור, אמין, מבוסס-זרם בתים.
מכוון חיבור: מכוון חיבור פירושו שתקשורת TCP היא אחת לאחד, כלומר תקשורת נקודה לנקודה מקצה לקצה, בניגוד ל- UDP, שיכולה לשלוח הודעות למספר מארחים בו זמנית, כך שלא ניתן להשיג תקשורת אחת לרבים.
אָמִין: האמינות של TCP מבטיחה כי מנות מועברות באופן אמין למקלט ללא קשר לשינויים בקישור הרשת, מה שהופך את פורמט מנות הפרוטוקול של TCP מורכב יותר מזה של UDP.
מבוסס על זרם בייט: האופי המבוסס על הזרם של Byte של TCP מאפשר העברת הודעות בכל גודל ומבטיח צו הודעה: גם אם ההודעה הקודמת לא התקבלה במלואה, וגם אם הבתים הבאים התקבלו, TCP לא יספק אותם לשכבת היישום לעיבוד ויפיל אוטומטית מנות כפולות.
לאחר שמארח A ו- Host B קבעו חיבור, היישום צריך רק להשתמש בשורת התקשורת הווירטואלית כדי לשלוח ולקבל נתונים, ובכך להבטיח העברת נתונים. פרוטוקול TCP אחראי על שליטה במשימות כמו הקמת חיבור, ניתוק והחזקה. יש לציין כי כאן אנו אומרים שהקו הווירטואלי פירושו רק לבסס חיבור, חיבור פרוטוקול TCP מציין רק ששני הצדדים יכולים להתחיל להעברת נתונים, וכדי להבטיח את אמינות הנתונים. צמתי הניתוב וההובלה מטופלים על ידי מכשירי הרשת; פרוטוקול TCP עצמו אינו עוסק בפרטים אלה.
חיבור TCP הוא שירות דופלקס מלא, מה שאומר שמארח A ו- Host B יכול להעביר נתונים בשני הכיוונים בחיבור TCP. כלומר, ניתן להעביר נתונים בין מארח A למארח B בזרימה דו כיוונית.
TCP מאחסנת באופן זמני נתונים במאגר השליחה של החיבור. מאגר שליחה זה הוא אחד המטמון שהוקמו במהלך לחיצת היד התלת-כיוונית. לאחר מכן, TCP תשלח את הנתונים במטמון שלח למטמון הקבלה של מארח היעד בזמן המתאים. בפועל, לכל עמיתים יהיה מטמון שלח ומטמון לקבל, כפי שמוצג כאן:
חיץ Send הוא תחום זיכרון המוחזק על ידי יישום TCP בצד השולח המשמש לאחסון זמנית של נתונים שיש לשלוח. כאשר מבוצעת לחיצת היד התלת-כיוונית כדי ליצור חיבור, מטמון השליחה מוגדר ומשמש לאחסון נתונים. מאגר SEND מותאם באופן דינמי על פי עומס רשת ומשוב מהמקלט.
מאגר קבלה הוא תחום זיכרון המוחזק על ידי יישום TCP בצד המקבל המשמש לאחסון באופן זמני נתונים שהתקבלו. TCP מאחסנת את הנתונים שהתקבלו במטמון המקבל ומחכה שהיישום העליון יקרא אותם.
שים לב שגודל של Send Cache ו- Geed Cache מוגבל, כאשר המטמון מלא, TCP עשוי לאמץ כמה אסטרטגיות, כגון בקרת גודש, בקרת זרימה וכו ', כדי להבטיח העברת נתונים אמינה ויציבות רשת.
ברשתות מחשבים, העברת נתונים בין מארחים מתבצעת באמצעות קטעים. אז מהו קטע מנות?
TCP יוצר קטע TCP, או קטע מנות, על ידי פיצול הזרם הנכנס לנתחים והוספת כותרות TCP לכל נתח. ניתן להעביר כל קטע רק למשך זמן מוגבל ואינו יכול לחרוג מגודל הקטע המרבי (MSS). בדרכו למטה, קטע מנות עובר דרך שכבת הקישור. לשכבת הקישור יש יחידת הילוכים מקסימאלית (MTU), שהיא גודל המנות המרבי שיכול לעבור דרך שכבת קישור הנתונים. יחידת ההעברה המרבית קשורה בדרך כלל לממשק התקשורת.
אז מה ההבדל בין MSS ל- MTU?
ברשתות מחשבים, הארכיטקטורה ההיררכית חשובה מאוד מכיוון שהיא לוקחת בחשבון את ההבדלים בין הרמות השונות. לכל שכבה יש שם אחר; בשכבת ההובלה, הנתונים נקראים קטע, ובשכבת הרשת, הנתונים נקראים חבילת IP. לפיכך, ניתן לחשוב על יחידת ההולכה המרבית (MTU) כגודל מנות ה- IP המרבי שניתן להעביר על ידי שכבת הרשת, ואילו גודל הקטע המרבי (MSS) הוא מושג שכבת תחבורה המתייחס לכמות הנתונים המרבית שניתן להעביר על ידי מנות TCP בכל פעם.
שים לב שכאשר גודל הקטע המרבי (MSS) גדול יותר מיחידת ההעברה המרבית (MTU), פיצול IP יבוצע בשכבת הרשת, ו- TCP לא יפצל את הנתונים הגדולים יותר לקטעים המתאימים לגודל MTU. יהיה קטע בשכבת הרשת המוקדש לשכבת ה- IP.
מבנה קטע מנות TCP
בואו נחקור את הפורמט ואת תוכן כותרות TCP.
מספר רצף: מספר אקראי שנוצר על ידי המחשב כאשר החיבור נקבע כערכו הראשוני בעת הקמת חיבור TCP, ומספר הרצף נשלח למקלט דרך מנות ה- SYN. במהלך העברת נתונים, השולח מגדיל את מספר הרצף לפי כמות הנתונים שנשלחו. המקלט שופט את סדר הנתונים על פי מספר הרצף שהתקבל. אם הנתונים יימצאו מחוץ להזמנה, המקלט יסדר מחדש את הנתונים כדי להבטיח את סדר הנתונים.
מספר הכרה: זהו מספר רצף המשמש ב- TCP כדי לאשר את קבלת הנתונים. זה מציין את מספר הרצף של הנתונים הבאים שהשולח מצפה לקבל. בחיבור TCP, המקלט קובע אילו נתונים התקבלו בהצלחה על סמך מספר הרצף של קטע מנות הנתונים שהתקבל. כאשר המקלט מקבל בהצלחה את הנתונים, הוא שולח מנות ACK לשולח, המכיל את מספר ההכרה באישור. לאחר קבלת חבילת ה- ACK, השולח יכול לאשר כי הנתונים לפני ההכרה במספר התשובה התקבלו בהצלחה.
קטעי הבקרה של קטע TCP כוללים את הדברים הבאים:
קצת: כאשר הקטע הזה הוא 1, זה אומר ששדה תשובת ההכרה תקף. TCP מציין כי יש להגדיר את הסיביות הזו ל- 1 למעט מנות SYN בעת הקמת החיבור בתחילה.
קצת: כאשר הקטע הזה הוא 1, זה מצביע על כך שיש חריג בחיבור TCP ויש לנתק את החיבור לניתוק.
Syn bit: כאשר סיביות זו מוגדרת כ- 1, פירוש הדבר שיש לקבוע את החיבור והערך הראשוני של מספר הרצף מוגדר בשדה מספר הרצף.
סנפיר: כאשר הקטע הזה הוא 1, זה אומר שלא יותר נתונים יישלחו בעתיד והחיבור רצוי.
הפונקציות והמאפיינים השונים של TCP מגולמים על ידי מבנה קטעי מנות TCP.
מה זה UDP? (Mylinking'sברז רשתוכןמתווך מנות רשתיכול לעבד גם מנות TCP או UDP)
פרוטוקול Datagram משתמש (UDP) הוא פרוטוקול תקשורת ללא חיבור. בהשוואה ל- TCP, UDP אינו מספק מנגנוני בקרה מורכבים. פרוטוקול UDP מאפשר ליישומים לשלוח ישירות מנות IP מכוסות מבלי לבסס חיבור. כאשר היזם בוחר להשתמש ב- UDP במקום ב- TCP, היישום מתקשר ישירות עם ה- IP.
השם המלא של פרוטוקול UDP הוא פרוטוקול Datagram User, והכותרת שלו היא רק שמונה בתים (64 ביטים), שהיא מאוד תמציתית. הפורמט של כותרת UDP הוא כדלקמן:
יציאות יעד ומקור: מטרתם העיקרית היא לציין לאיזה תהליך UDP צריך לשלוח מנות.
גודל המנות: שדה גודל המנות מחזיק בגודל כותרת UDP בתוספת גודל הנתונים
בדיקת בדיקה: נועד להבטיח מסירה אמינה של כותרות UDP ונתונים, תפקיד הבדיקה הוא לגלות אם אירעה שגיאה או שחיתות במהלך העברת חבילת UDP כדי להבטיח את שלמות הנתונים.
הבדלים בין TCP ל- UDP אצל Mylinking'sברז רשתוכןמתווך מנות רשתיכול לעבד גם מנות TCP או UDP
TCP ו- UDP שונים בהיבטים הבאים:
קֶשֶׁר: TCP הוא פרוטוקול הובלה מונחה חיבור הדורש לקבוע חיבור לפני שניתן להעביר נתונים. לעומת זאת, UDP אינו דורש חיבור ויכול להעביר נתונים באופן מיידי.
אובייקט שירות: TCP הוא שירות של דו-נקודות אחד לאחד, כלומר לחיבור יש רק שתי נקודות קצה לתקשר זה עם זה. עם זאת, UDP תומך בתקשורת אינטראקטיבית אחת לאחד, אחד לרבים ורבים לרבים, שיכולים לתקשר עם מספר מארחים בו זמנית.
אֲמִינוּת: TCP מספקת שירות של אספקת נתונים באופן אמין, להבטיח כי הנתונים הם נטולי שגיאות, ללא הפסד, שאינם מכות ומגיעים לדרישה. לעומת זאת, UDP עושה את המאמץ הטוב ביותר שלו ואינו מבטיח משלוח אמין. UDP עלול לסבול מאובדן נתונים וממצבים אחרים במהלך ההעברה.
בקרת גודש, בקרת זרימה: ל- TCP מנגנוני בקרת גודש ובקרת זרימה, שיכולים להתאים את קצב העברת הנתונים בהתאם לתנאי הרשת כדי להבטיח את האבטחה והיציבות של העברת הנתונים. ל- UDP אין מנגנוני בקרת גודש ובקרת זרימה, גם אם הרשת עמוסה מאוד, היא לא תבצע התאמות לשיעור השליחה של UDP.
כותרת תקורה: ל- TCP אורך כותרת ארוך, בדרך כלל 20 בתים, מה שמגדיל כאשר משתמשים בשדות אפשרות. לעומת זאת, ל- UDP יש כותרת קבועה של 8 בתים בלבד, כך של- UDP יש כותרת נמוכה יותר.
תרחישי יישומי TCP ו- UDP:
TCP ו- UDP הם שני פרוטוקולי שכבת תובלה שונים, ויש להם כמה הבדלים בתרחישי היישום.
מכיוון ש- TCP הוא פרוטוקול מונחה חיבור, הוא משמש בעיקר בתרחישים שבהם נדרש מסירת נתונים אמינה. כמה מקרי שימוש נפוצים כוללים:
העברת קובץ FTP: TCP יכול להבטיח כי קבצים לא יאבדו ויפגמו במהלך ההעברה.
Http/https: TCP מבטיח את היושרה והתקינות של תוכן האינטרנט.
מכיוון ש- UDP הוא פרוטוקול ללא חיבור, הוא אינו מספק ערבות אמינות, אך יש לו מאפיינים של יעילות ובזמן אמת. UDP מתאים לתרחישים הבאים:
תנועה בעלת אגרוף נמוך, כגון DNS (מערכת שמות דומיין): שאילתות DNS הן בדרך כלל מנות קצרות, ו- UDP יכול להשלים אותן מהר יותר.
תקשורת מולטימדיה כמו וידאו ושמע: לקבלת העברת מולטימדיה עם דרישות גבוהות בזמן אמת, UDP יכול לספק חביון נמוך יותר כדי להבטיח שניתן להעביר נתונים במועד.
תקשורת משודרת: UDP תומך בתקשורת של אחד לרבים ורבים לרבים וניתן להשתמש בו להעברת הודעות שידור.
תַקצִיר
היום למדנו על TCP. TCP הוא פרוטוקול תקשורת מכוון חיבור, אמין, מבוסס-זרם בתים. זה מבטיח העברה אמינה וקבלה מסודרת של נתונים על ידי הקמת חיבור, לחיצת יד והכרה. פרוטוקול TCP משתמש ביציאות כדי לממש את התקשורת בין תהליכים, ומספק שירותי תקשורת ישירים לתהליכי יישומים הפועלים על מארחים שונים. חיבורי TCP הם דופלקס מלא, המאפשרים העברות נתונים דו כיווניות בו זמנית. לעומת זאת, UDP הוא פרוטוקול תקשורת מכוון ללא חיבור, שאינו מספק ערבויות אמינות ומתאים לתרחישים מסוימים עם דרישות גבוהות בזמן אמת. TCP ו- UDP שונים במצב חיבור, אובייקט שירות, אמינות, בקרת עומס, בקרת זרימה והיבטים אחרים, ותרחישי היישום שלהם הם גם שונים.
זמן הודעה: דצמבר 03-2024