תגית: TCP

בארכיטקטורת הרשת הנוכחית שירותים המזרימים תוכן בקצב גבוה גורמים להאטה(!) בקצב הקבלה

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

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

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

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

*באפר (buffer) הוא זיכרון העוזר לתאם בין שני צדדים הניגשים למידע (אחד מעלה והאחר מוריד) בקצבים שונים. המטרה של הבאפר היא שלמוריד תמיד יהיה משהו זמין להורדה כאשר הוא מבקש ובכך לגרום שהמידע יועבר בערך בקצב אחיד (ענין חשוב לשיחות ווידאו)

**latency הוא הזמן שעובר בין שליחת בקשה למידע וקבלת התשובה. כאשר הlatency גבוה בשיחת "טלפון" נדמה כאילו שהצד השני כל הזמן צריך לחשוב קצת לפני שהוא עונה לנו.