האם קווי התקשורת שלנו תקינים, ויותר חשוב מזה עונים על הצרכים?
כל קו תקשורת, ולא חשוב סוג הקו, יש ארבעה פרמטרים שמאפיינים את הקו:
פרמטר ראשון הוא כמובן רוחב הפס (Bandwidth), הנמדד ב- Bits/Sec, ואומר מה כמות התנועה שהקו יכול להעביר. יש להבחין בין רוחב פס לבין רוחב פס יעיל (Throughput) שהוא כמות ה- Bytes/Sec שהאפליקציה מעבירה בפועל, לא כולל תקורות (Overheads) של הפרוטוקולים כמו Headers, אישורים שמידע הגיע וכד'.
הפרמטר השני הוא כמובן ההשהיה (Delay), שאומר כמה זמן ייקח למידע, או ל- Packets להגיע מקצה לקצה. זמן זה נמדד בשניות, הלוך חזור (RTT – Round Trip Time).
הפרמטר השלישי הוא Jitter, שנמדד באחוזים, ואומר מה השינויים ב- Delay
הפרמטר הרביעי הוא אובדן מידע (Packet Loss), שנמדד באחוזים, ואומר איזה אחוז מהמנות שנשלחו לא הגיע ליעדן.
נתחיל עם סיפור. לפני מספר שנים, בבחירות מקדימות של אחת המפלגות בארץ, בסביבות הצהריים התחילו הקלפיות לעבוד באיטיות .מה זה איטיות? למצביע לקח 2-3 דקות לעבור את תהליך הזיהוי בעזרת תעודת הזהות, ועוד 2-3-4 דקות לבצע את הבחירה מול המסך, שהיה מסך מגע שבאמצעותו מקליקים על המועמדים שבחרתם. בית התוכנה שבדק והציג את המערכת לפני הבחירות, הראה תצוגה מאוד מרשימה שה- Client שעובד מול ה- Server צורך משהו כמו 150-200Kbps, ומכיוון שבאותו הזמן הטכנולוגיה הסלולארית הייתה דור 3, הם אמרו שהרוחב פס ברשת הינו כ- 2Mbps, ולכן הם יצטרכו לכל היותר 10% ממה שמודם סלולארי יכול לתת. אז מהיכן הבעיות? מסיבה מאוד פשוטה: ה- Delay. בשעת הצהריים, בגלל העומס, הרשת באזורים מסוימים עברה לדור 2.5 ( cdma1x באותם השנים..), ה- Delay עלה לכ- 400mS, ומכיוון שעבור פעולת הזיהוי ולאחר מכן הבחירה עברו כ- 100Packets בין ה- Client ל- Server, 400mS * 100Packets נותן 40 שניות המתנה. תוסיפו קצת Packet Loss, עומס על התא הסלולארי, וקיבלתם המתנה של דקות.
הערה לגבי Delay: הנתונים המקובלים (עבור קו לא עמוס) הינם:
- עבור רשת מקומית: פחות מ- 1mS. םא תבדקו ב- Ping מדוייק, כמו ב- Linux למשל, תראו שזה הרבה פחות
- עבור קווי תקשורת ברשת הציבורית: מקצה לקצה, עד מספר mSec בודדים
- ברשת סלולארית 3G+ (HSPA לסוגיו): עד עשרות mSex
- ברשת סלולארית 4G+ (LTE, LTE-A): עד 15-20mSec
- בקווי תקשורת לאירופה: כ- 100mSec
- בקווי תקשורת לארה"ב: כ- 200mSec
(*) חשוב לציין כי ברשת סלולארית, כמו בכל רשת רדיו, הנתונים יכולים להשתנות בתלות בקליטה, מיסוך, כיסוי ועוד פרמטרים רבים שעליה נדבר בהזדמנות (במאמרים על רשתות אלחוטיות וסלולאריות שיפורסמו כאן בהמשך)
ויש דוגמאות רבות נוספות כמו:
- הורדת/העלאת קובץ: עובד ב- TCP, כאשר תמיד יש כ- 2Packets שמגיעים אליכם (המספר המדוייק תלוי בהגדרות מערכת ההפעלה), אחריהם המחשב שלכם שולח אישור (Ack) חזרה. תעשו חשבון של קובץ שלוקח כמה מאות או אלפי Packets (בגודל של כ- 1500Bytes/Packet) עד שהקובץ יגיע אליכם והגעתם לעשרות שניות ואפילו דקות.
- עבודה ב- Database, או בכל Client/Server אחר, הרבה Packets שיעברו ביננו לארה"ב למשל – צפו לבעיות.
- בעיה משעשעת – לפני כמה שנים, משתמשים באירופה שבקלידו תעודות משלוח מול שרתים בארץ, ועבדו מול Terminal Server שעבד מול שרת ה- DB ראו שהם מקלידים והטקסט מגיב באיטיות על המסך. מכיוון שבעבודה מול Terminal Server מה שאתם רואים על המסך זה ה- Echo מהשרת, ול- Echo לוקח 100mSec להגיע, הם פשוט הקלידו מאוד מהר וה- Echo החוזר לא היה מספיק מהיר…
יש לי עוד עשרות, מאות, וכנראה הרבה יותר מקרים דומים. נשאיר משהו לפעמים הבאות, מבטיח להביא כאן עם דוגמאות Wireshark.
ומה לגבי Jitter? בעייתי במיוחד ברשתות IP Telephony. ו- Packet Loss? תלוי באפליקציה. באפליקציות מבוססות TCP, כמו למשל הורדת קבצים או גלישה באינטרנט, עד סביבות 0.5% כנראה לא תרגישו הבדל, ובסביבות 3-4% תתחילו להרגיש איטיות חזקה. לעומת זאת, ביישומי Video Conference מסוימות כל Packet שהולך לאיבוד יהיה נקודות "קפואות" על המסך.
אז לגבי תקלות – נראה עוד הרבה בהמשך. מה שהיה חשוב לי להעביר כאן זה שקו תקשורת זה לא רק רוחב פס. תבדקו איזה קו אתם רוכשים, מה הנתונים שתקבלו, ואם לקחתם קו רחב והרשת לא זזה, לא בטוח שלהגדיל אותו יותר ייתן לכם פתרון. לפעמים כן, אבל בלא מעט פעמים הפתרון יהיה אפליקטיבי. ועל זה במאמרים הבאים.
איך אפשר לבדוק את הפרמטרים האלה?
איזה תוכנות צריך?