Untitled-1_0006_modern-application-technology

כיצד עובדים הטרמינלים ומהו בעצם פרוטוקול RDP ?

נתקלנו פעמים ספורות בתהייה של משתמשים מדוע Anydesk או TeamViewer איטיים יותר מחיבור RDP (המוכר כ-"חיבור טרמינל") ובכלל מדוע הם שונים ומה ההבדל ?

התשובה היא מאוד פשוטה – האחד משדר תמונות ווידאו ואילו השני 'מצייר' את הגרפיקה מקומית !

מה הכוונה ?

כדי להבין זאת עלינו ללכת אחורה בזמן לעולם ה-UNIX שבו היתה מערכת גרפית בשם X או בשמה המלא X-Window System. המערכת, שנולדה בשנת 1984 לערך, אפשרה תצוגה גרפית במערכות ההפעלה דאז גם אם הייתם רחוקים מהשרת. מאחר ורוחב הפס של התקשורת באותה תקופה היה מזעזע ביחס להיום – נדרש פתרון יצירתי כיצד לייצר סביבה גרפית לעבודה מרחוק מול שרת אך מבלי לשדר וידאו.
הרעיון שנהגה הוא בעצם לייצר יישום שירוץ בשרת וישדר לא גרפיקה אלא את הפקודות הגרפיות בלבד אל תוכנה שתרוץ בצד המרוחק והיא תטפל בתצוגה הגרפית. כך אנו מקבלים שידור רזה שאיננו נדרש לשלוח עדכונים וידאו ותמונה דרך ערוץ תקשורת איטי ומקבלים תצוגה מהירה שבעצם מציירת את כל מה שאנו רואים מקומית ושולחת חזרה לשרת רק את לחיצות העכבר והקלדות המקשים !
(למי שמתעניין מעט יותר – הצד שרץ אצלכם נקרא בעצם X-Server והצד שרץ בשרת נקרא X-Client – הפוך ממה שקורה כיום – משום שהמינוח התייחס לצד שמספק את שירות הגרפיקה בתור השרת ודווקא הרכיב שרץ בשרת הפיסי נקרא הלקוח שכן הוא מקבל את השירות מכם).

מכאן צמח לו והתפתח בחברת מיקרוסופט Remote Desktop Protocol שהוא מימוש דומה ל-X הנ"ל ומשמש למשלוח פקודות גרפיות חלונאיות אל המחשב שלכם ולקבלת משוב מהמחשב שלכם אל השרת בנוגע ללחיצות עכבר והקשות מקלדת. כך – במקום לשלוח תמונות ווידאו רציף ללא הרף נשלח מידע מאוד צר ומועט וכך מתאפשרת עבודה של 20-30 איש מול שרת טרמינל ('מסוף') שכזה מעל קו ADSL פשוט – כשהגרפיקה והחלונות בעצם מצויירים על המחשב שלכם ולא בשרת המרוחק !

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

אני מקווה שזה יעזור לכם להבין מעט טוב יותר את ההבדל ומשמעויות הפרוטוקולים השונים.