بروتوكول RFB
بروتوكول RFB ( Remote Framebuffer ) هو بروتوكول مفتوح وبسيط للوصول عن بُعد إلى واجهات المستخدم الرسومية . وهو قابل للتطبيق على جميع أنظمة وتطبيقات النوافذ ، بما في ذلك Microsoft Windows و macOS ونظام X Window و Wayland .
RFB هو البروتوكول المستخدم في VNC ومشتقاته.
وصف
يستخدم برنامج المشاهدة/العميل افتراضيًا منفذ TCP رقم 5900 للاتصال بالخادم (أو 5800 للوصول عبر المتصفح)، ولكن يمكن ضبطه لاستخدام أي منفذ آخر. كما يمكن للخادم الاتصال ببرنامج المشاهدة في "وضع الاستماع" (افتراضيًا على المنفذ 5500). إحدى مزايا وضع الاستماع هي أن موقع الخادم لا يحتاج إلى ضبط جدار الحماية/NAT للسماح بالوصول عبر المنافذ المحددة؛ إذ يقع هذا العبء على برنامج المشاهدة، وهو أمر مفيد إذا لم يكن لدى موقع الخادم خبرة في مجال الحاسوب، بينما يُفترض أن يكون مستخدم برنامج المشاهدة أكثر درايةً.
على الرغم من أن بروتوكول RFB بدأ كبروتوكول بسيط نسبيًا، فقد تم تحسينه بميزات إضافية (مثل نقل الملفات) وتقنيات ضغط وأمان أكثر تطورًا مع تطوره. وللحفاظ على توافق سلس بين مختلف تطبيقات عميل وخادم VNC، يتفاوض العملاء والخوادم على إنشاء اتصال باستخدام أفضل إصدار من RFB، وخيارات الضغط والأمان الأنسب التي يدعمها كلاهما.
تاريخ
طُوِّرت تقنية RFB في الأصل في مختبر أبحاث أوليفيتي (ORL) كتقنية عرض عن بُعد تُستخدم بواسطة جهاز عميل بسيط ذي اتصال بنمط النقل غير المتزامن يُسمى Videotile. وللحفاظ على بساطة الجهاز قدر الإمكان، طُوِّرت تقنية RFB واستُخدمت بدلاً من أي من تقنيات العرض عن بُعد الموجودة آنذاك.
وجدت تقنية RFB استخدامًا ثانيًا وأكثر استدامةً مع تطوير VNC. تم إصدار VNC كبرنامج مفتوح المصدر ، ونُشرت مواصفات RFB على الإنترنت. ومنذ ذلك الحين، أصبحت RFB بروتوكولًا مجانيًا يمكن لأي شخص استخدامه.
عندما أُغلقت شركة ORL عام ٢٠٠٢، أسس بعض الأشخاص الرئيسيين وراء بروتوكولي VNC وRFB شركة RealVNC المحدودة، بهدف مواصلة تطوير VNC والحفاظ على بروتوكول RFB. ويمكن الاطلاع على بروتوكول RFB الحالي على موقع RealVNC الإلكتروني .
الإصدارات
فيما يلي الإصدارات المنشورة من بروتوكول RFB:
| إصدار | نُشر | تاريخ | مواصفة |
|---|---|---|---|
| RFB 3.3 | أوليفيتي (أورل) | يناير 1998 | بروتوكول الإطار البعيد 3.3 |
| RFB 3.7 | شركة RealVNC المحدودة | أغسطس 2003 | بروتوكول الإطار البعيد 3.7 |
| RFB 3.8 (الحالي) | شركة RealVNC المحدودة | يونيو 2007 | بروتوكول الإطار البعيد 3.8 |
| IETF RFC (3.8) | شركة RealVNC المحدودة | مارس 2011 | RFC 6143 |
للمطورين حرية إضافة أنواع تشفير وأمان إضافية، ولكن عليهم حجز أرقام تعريف فريدة لها لدى القائمين على صيانة البروتوكول لتجنب تعارض الأرقام. فتعارض أرقام الأنواع قد يُسبب ارتباكًا أثناء عملية المصافحة للاتصال، ويُخلّ بالتوافق بين التطبيقات المختلفة. كانت شركة RealVNC Ltd تتولى صيانة قائمة أنواع التشفير والأمان، وهي منفصلة عن مواصفات البروتوكول، ما يسمح بإضافة أنواع جديدة دون الحاجة إلى إعادة إصدار المواصفات. ومنذ ديسمبر 2012، أصبحت القائمة تابعة لهيئة IANA . [ 1 ]
يستضيف مشروع TigerVNC نسخة مجتمعية من مواصفات بروتوكول RFB تهدف إلى توثيق جميع الامتدادات الموجودة . [ 2 ]
أنواع التشفير
تُعدّ التشفيرات المتعددة جزءًا من عملية التفاوض. بعض هذه التشفيرات هي تشفيرات زائفة تُستخدم للإعلان عن القدرة على التعامل مع امتداد معين.
تتضمن الترميزات ما يلي: [ 2 ]
- خام
- حقوق النشر
- كور
- H.264
- هيكستايل
- JPEG
- RRE
- ضيق
- صورة PNG مضغوطة
- TRLE
- ألترا
- زليب
- ZlibHex
- ZRLE
- XZ
- XZYW
من بين أنواع التشفير المعتمدة على الصور والمُعرّفة علنًا، تُعدّ أنواع التشفير المُحكم (Tight encoding) الأكثر كفاءة. يُعرّف برنامج TightVNC نوعين من التشفير: التشفير المُحكم (مزيج من تعبئة المستطيل واللوحة والتدرج اللوني باستخدام zlib وJPEG، بالإضافة إلى "ضغط أساسي" باستخدام Zlib مع فلتر) [ 3 ] ، وتشفير Tight PNG (تشفير مُحكم مع استبدال الضغط الأساسي ببيانات PNG ).
تم بحث استخدام ترميز H.264 لتشفير بيانات RFB، لكن النتائج الأولية (باستخدام تنسيق Open H.264) وُصفت بأنها ضعيفة من قِبل أحد مطوري TurboVNC . يتحسن الأداء مع انخفاض عدد الإطارات الرئيسية (I-frames)، لكن استهلاك وحدة المعالجة المركزية لا يزال يمثل مشكلة. [ 4 ]
القيود
فيما يتعلق بنقل بيانات الحافظة، "لا توجد حاليًا طريقة لنقل نص خارج مجموعة أحرف Latin-1". [ 5 ] يحل امتداد التشفير الزائف الشائع هذه المشكلة باستخدام UTF-8 بتنسيق موسع. [ 2 ] : § 7.7.27
يُعبّر بروتوكول VNC عن حالة أزرار الفأرة في بايت واحد، كإشارة ثنائية لأعلى/لأسفل. هذا يُحدّ من عدد أزرار الفأرة إلى ثمانية (أي سبعة فعليًا نظرًا لأن الزر 0 يعني "معطل"). تُعدّد العديد من الفأرات الحديثة تسعة أزرار أو أكثر، مما يجعل أزرار التقديم/الترجيع غير فعّالة عبر RFB. يُحلّ امتداد "GII" هذه المشكلة. [ 2 ] : § 7.7.11
لا تُحدد مواصفات البروتوكول الأصلية أي طريقة لنقل البيانات الصوتية على الإطلاق، باستثناء إمكانية إرسال الخادم إشارة تنبيه (صوت تنبيه مسموع) لتشغيلها من قِبل العميل. [ 2 ] : § 7.6.3 ومع ذلك، يوجد امتداد "QEMU Audio" مُعرّف في النسخة المجتمعية من بروتوكول RFB. [ 2 ]
انظر أيضاً
- مقارنة برامج سطح المكتب البعيد
- تقنية NX و Xpra لاتصالات نظام النوافذ X عن بُعد بكفاءة
- RealVNC
- بروتوكول سطح المكتب البعيد (RDP)
- بروتوكول بسيط لبيئات الحوسبة المستقلة (SPICE)
- TigerVNC
- UltraVNC
- VNC
مراجع
- ↑ "مخزن الإطارات البعيد (RFB)" . www.iana.org .
- 1 2 3 4 5 6 "بروتوكول RFB، إصدار المجتمع" . GitHub . 12 مايو 2025.
- ↑ "برنامج VNC Tight Encoder - نتائج المقارنة" . www.tightvnc.com .
- ↑ القائد، دكتور. "دراسة حول جدوى ترميز H.264 في بيئة VNC" . turbovnc.org .
- ↑ ريتشاردسون، تريستان (2010). "القسمان 6.4.6 و6.5.4". بروتوكول RFB - الإصدار 3.8 .
روابط خارجية
- بروتوكول RFB - نسخة المجتمع
- RFC 6143: بروتوكول الإطار البعيد (يصف الإصدار 3.8، 2011)
- بروتوكول RFB - الإصدار 3.8 (2010-11-26)
- بروتوكول RFB - الإصدار 3.7 (2003-08-12)
- بروتوكول RFB - الإصدار 3.3 (1998-01) مؤرشف بتاريخ 15 ديسمبر 2006 على موقع Wayback Machine
- بروتوكول RFB - الإصدار 3.3 (1998-01)
- مختبرات AT&T كامبريدج - بروتوكول RFB
- الحوسبة الشبكية الافتراضية
- بروتوكولات طبقة التطبيق
- بروتوكولات سطح المكتب البعيد
