שכבת התעבורה של מודל ה-TCP/IP
מתוך ויקיפדיה, האנציקלופדיה החופשית
Application | HTTP, SMTP, FTP, DNS, DHCP, SSH, IRC, SNMP, SIP, IMAP4, MIME • TELNET, RPC, SOAP ... |
Transport | TCP, UDP, SCTP, RTP, DCCP, ICMP ... |
Network | IPv4, IPv6, ARP, IPX ... |
Physical | Ethernet, 802.11 WiFi, Token ring, FDDI ... |
שכבת התעבורה (Transport) של מודל הTCP/IP מקבילה מבחינת תפקידיה ותפקודה לשכבת התעבורה של מודל הOSI, היא אחראית על ניהול התקשורת, אמינות החיבור, ואמינות הנתונים. היא משמשת את שכבת התוכנה ומשתמשת בשכבת הרשת לצורך העברת נתונים על-גבי הרשת.
בשכבת התעבורה נכללים מספר פרוטוקולים, כאשר כל אחד מהם מיישם את הפעולות של השכבה בדרכים אחרות, חלקם בוחרים ליישם או לא ליישם אופציות שונות, לדוגמה - UDP כלל לא בודקים את אמינות הנתונים שהם מעבירים (בניגוד לTCP). עם זאת, קיימים שני קווים כלליים המשותפים לכולם -
תוכן עניינים |
[עריכה] בקרת זרימה
פרוטוקולים של שכבת התעבורה מפקחים על זרימת הנתונים (Data stream) בין שני קצוות (nodes) ברשת מחשבים, פיקוח זה מתבטא בשליטה על מהירות ההעברה (רוחב פס), המתבצע על ידי שימוש ב"חלונות" (Sliding window) - גודל החלון קובע כמות נתונים מוסכמת שמחשב המקור מעביר למחשב היעד לפני שהם יתאמו מחדש פרטים שונים הנוגעים לאופן העברת הנתונים (וביניהם גם גודל החלון). ככל השחלון גדול יותר - כך מהירות העברת הנתונים עולה, בדרך כלל כאשר שני המחשבים פנויים, וקו התקשורת ביניהם אמין החלון יהיה גדול למדי, עם זאת - אם אחד המחשבים עסוק הוא יבקש להקטין את החלון - וכך יהיה.
[עריכה] אמינות החיבור
קיימות שתי שיטות נפוצות לבדיקת אמינות החיבור - מספרים רציפים (sequencing numbers) ואישורים (acknowledgments) כאשר רוב הפרוטוקולים משתמשים בשילוב של שתיהן. כאשר משתמשים במספרים רציפים, כל חבילות הנתונים (datagram) שנשלחהת על ידי מחשב המקור ממוספרת בסדר עולה, כך יכול מחשב היעד לוודא שהגיעו אליו כל החבילות, ובאם חסרה אחת הוא יכול לבקש את המידע הספציפי. אישורים משמשים את מחשב היעד להודיע למחשב המקור על החבילה האחרונה שהתקבלה, ולבקש את החבילה הבאה. מספר האישור יהיה המספר הרציף של החבילה הבאה שמחשב המקור צריך לשלוח (לדוגמה - אם נשלחו חבילות 1-10 מחשב היעד ישלח אישור עם המספר 11). גודל החלון קובע את מספר החבילות שאחריהן צריך להגיע אישור, כך מספר חלון נמוך מגדיל את כמות הנתונים שיש להעביר (מכיוון שצריך להעביר יותר נתוני בקרה עבור נתונים אמיתיים) ולהפך.