PXE boot

في مجال الحوسبة، تُعد بيئة تنفيذ ما قبل التمهيد ( PXE؛ تُنطق غالبًا /ˈpɪksiː / pixie ) ، والتي تُسمى أيضًا تمهيد PXE ( تمهيد Pixie )، مواصفةً تصف بيئة عميل-خادم قياسية تُشغّل حزمة برمجية، يتم استرجاعها من الشبكة، على أجهزة عملاء تدعم PXE. من جانب العميل، لا تتطلب سوى وحدة تحكم واجهة شبكة (NIC) تدعم PXE، وتستخدم مجموعة صغيرة من بروتوكولات الشبكة القياسية في هذا المجال، مثل بروتوكول تكوين المضيف الديناميكي (DHCP) وبروتوكول نقل الملفات البسيط (TFTP).
نشأ المفهوم الكامن وراء PXE في الأيام الأولى لبروتوكولات مثل BOOTP /DHCP/TFTP، واعتبارًا من عام 2015يشكل جزءًا من معيار واجهة البرامج الثابتة القابلة للتوسيع الموحدة (UEFI). في مراكز البيانات الحديثة، يُعد PXE الخيار الأكثر شيوعًا [ 1 ] لتشغيل نظام التشغيل وتثبيته ونشره.
ملخص
منذ نشأة شبكات الحاسوب، برزت الحاجة المُلحة لأنظمة عملاء قادرة على تشغيل صور برمجية مناسبة، مع ضبط معلمات التكوين اللازمة، والتي يتم استرجاعها عند بدء التشغيل من خادم شبكة واحد أو أكثر . يتطلب هذا الهدف من العميل استخدام مجموعة من خدمات ما قبل بدء التشغيل، استنادًا إلى بروتوكولات الشبكة القياسية . إضافةً إلى ذلك، يجب أن يُبنى برنامج بدء تشغيل الشبكة (NBP)، الذي يتم تنزيله وتشغيله مبدئيًا، باستخدام طبقة برمجية ثابتة للعميل (على الجهاز المراد بدء تشغيله عبر PXE)، مما يوفر طريقة قياسية مستقلة عن الأجهزة للتفاعل مع بيئة بدء تشغيل الشبكة المحيطة. في هذه الحالة، يُعدّ توفر المعايير والالتزام بها عاملًا أساسيًا لضمان قابلية التشغيل البيني لأنظمة عملية بدء تشغيل الشبكة.
كانت إحدى المحاولات الأولى في هذا الصدد هي تحميل ملفات التمهيد باستخدام معيار TFTP (RFC 906)، المنشور عام 1984، والذي أرسى معيار بروتوكول نقل الملفات البسيط (TFTP) (RFC 783) المنشور عام 1981، ليُستخدم كبروتوكول نقل ملفات قياسي لتحميل ملفات التمهيد. تبع ذلك بعد فترة وجيزة معيار بروتوكول التمهيد (BOOTP) (RFC 951)، المنشور عام 1985، والذي مكّن جهاز العميل الذي لا يحتوي على قرص من اكتشاف عنوان IP الخاص به، وعنوان خادم TFTP، واسم NBP ليتم تحميله في الذاكرة وتنفيذه. أدت صعوبات تطبيق BOOTP، من بين أسباب أخرى، في نهاية المطاف إلى تطوير معيار بروتوكول تكوين المضيف الديناميكي (DHCP) (RFC 2131)، المنشور عام 1997. لم يكن نهج TFTP/BOOTP/DHCP الرائد كافيًا، لأنه لم يُحدد في ذلك الوقت الجانب القياسي المطلوب من جانب العميل في بيئة التزويد.
تم تقديم بيئة تنفيذ ما قبل الإقلاع (PXE) كجزء من إطار عمل Wired for Management [ 2 ] من قِبل شركة إنتل ، وهي موصوفة في المواصفات المنشورة من قِبل إنتل وسيستم سوفت. صدرت النسخة 2.0 من PXE في ديسمبر 1998، وتم نشر التحديث 2.1 في سبتمبر 1999. [ 3 ] تستخدم بيئة PXE العديد من بروتوكولات العميل والخادم القياسية، بما في ذلك DHCP وTFTP (المُعرّفة حاليًا في RFC 1350 المنشور عام 1992). ضمن مخطط PXE، يُعد جانب العميل من معادلة التزويد جزءًا لا يتجزأ من معيار PXE، ويتم تنفيذه إما كامتداد BIOS لبطاقة واجهة الشبكة (NIC) أو كأجهزة حالية في كود UEFI . تُتيح طبقة البرامج الثابتة المميزة هذه للعميل وظائف واجهة جهاز الشبكة العالمية الأساسية (UNDI)، ومجموعة بروتوكولات UDP / IP مُصغّرة ، ووحدة عميل ما قبل التمهيد (DHCP)، ووحدة عميل TFTP، لتُشكّل معًا واجهات برمجة تطبيقات PXE (APIs) التي يستخدمها NBP عند الحاجة للتفاعل مع الخدمات التي يُقدّمها خادم بيئة PXE. وقد تمّ التخفيف من انخفاض معدل نقل البيانات في TFTP ، خاصةً عند استخدامه عبر روابط ذات زمن استجابة عالٍ ، مبدئيًا من خلال خيار حجم كتلة TFTP RFC 2348 المنشور في مايو 1998، ولاحقًا من خلال خيار حجم نافذة TFTP RFC 7440 المنشور في يناير 2015، مما يسمح بتسليم حمولات بيانات أكبر حجمًا، وبالتالي تحسين معدل نقل البيانات.
تفاصيل
The PXE relies on a combination of industry-standard Internet protocols, namely UDP/IP, DHCP and TFTP. These protocols have been selected because they are easily implemented in the client's NIC firmware, resulting in standardized small-footprint PXE ROMs. Standardization, small size of PXE firmware images and their low use of resources are some of the primary design goals, allowing the client side of the PXE standard to be identically implemented on a wide variety of systems, ranging from powerful client computers to resource-limited single-board computers (SBC) and system-on-a-chip (SoC) computers.
DHCP is used to provide the appropriate client network parameters and specifically the location (IP address) of the TFTP server hosting, ready for download, the initial bootstrap program (NBP) and complementary files. To initiate a PXE bootstrap session the DHCP component of the client's PXE firmware broadcasts a DHCPDISCOVER packet containing PXE-specific options to port 67/UDP (DHCP server port); it asks for the required network configuration and network booting parameters. The PXE-specific options identify the initiated DHCP transaction as a PXE transaction. Standard DHCP servers (non PXE enabled) will be able to answer with a regular DHCPOFFER carrying networking information (i.e. IP address) but not the PXE specific parameters. A PXE client will not be able to boot if it only receives an answer from a non PXE enabled DHCP server.
After parsing a PXE enabled DHCP server DHCPOFFER, the client will be able to set its own network IP address, IP Mask, etc., and to point to the network located booting resources, based on the received TFTP Server IP address and the name of the NBP. The client next transfers the NBP into its own random-access memory (RAM) using TFTP, possibly verifies it (i.e. UEFI Secure Boot), and finally boots from it. NBPs are just the first link in the boot chain process and they generally request via TFTP a small set of complementary files in order to get running a minimalistic OS executive (i.e. WindowsPE, or a basic Linux kernel+initrd). The small OS executive loads its own network drivers and TCP/IP stack. At this point, the remaining instructions required to boot or install a full OS are provided not over TFTP, but using a robust transfer protocol (such as HTTP, CIFS, or NFS).
Integration

صُممت بيئة عميل/خادم PXE بحيث يمكن دمجها بسلاسة مع بنية خادم DHCP وTFTP الموجودة مسبقًا. وقد شكّل هذا الهدف التصميمي تحديًا عند التعامل مع بروتوكول DHCP التقليدي. فخوادم DHCP الخاصة بالشركات عادةً ما تخضع لسياسات صارمة مصممة لمنع إضافة المعلمات والقواعد الإضافية اللازمة لدعم بيئة PXE بسهولة. ولهذا السبب، طوّر معيار PXE مفهوم إعادة توجيه DHCP أو "proxyDHCP". وتتلخص فكرة proxyDHCP في تقسيم متطلبات DHCP الخاصة بـ PXE إلى وحدتي خادم تعملان وتُداران بشكل مستقل.
- خادم DHCP الكلاسيكي الذي يوفر عنوان IP وقناع IP وما إلى ذلك لجميع عملاء DHCP الذين يقومون بتشغيل النظام .
- يقوم خادم proxyDHCP بتوفير عنوان IP لخادم TFTP واسم NBP فقط لعملاء التمهيد المحددين بواسطة PXE .
في بيئة خادم DHCP بالإضافة إلى خادم proxyDHCP [ 3 ] : 18، يبث عميل PXE في البداية حزمة PXE DHCPDISCOVER واحدة، ويتلقى حزمتي DHCPOFFER متكاملتين؛ إحداهما من خادم DHCP العادي غير المُفعّل لـ PXE، والأخرى من خادم proxyDHCP. توفر هاتان الحزمتان معًا المعلومات اللازمة لتمكين عميل PXE من متابعة عملية الإقلاع. يتيح هذا الأسلوب غير التدخلي إعداد بيئة PXE دون المساس بتكوين خادم DHCP العامل بالفعل. يمكن أيضًا تشغيل خدمة proxyDHCP على نفس المضيف الذي تعمل عليه خدمة DHCP القياسية، ولكن حتى في هذه الحالة، فهما تطبيقان مستقلان في التشغيل والإدارة. ولأن خدمتين لا يمكنهما استخدام المنفذ 67/UDP نفسه على نفس المضيف، فإن proxyDHCP يعمل على المنفذ 4011/UDP. وقد أثبت أسلوب proxyDHCP فعاليته الكبيرة في نطاق واسع من سيناريوهات PXE، بدءًا من بيئات الشركات وصولًا إلى البيئات المنزلية.
التوافر
صُممت تقنية PXE مع مراعاة العديد من بنى الأنظمة. حدد الإصدار 2.1 من المواصفات مُعرّفات البنية لستة أنواع من الأنظمة، بما في ذلك IA-64 و DEC Alpha . مع ذلك، لم يُغطِّ الإصدار 2.1 من PXE سوى IA-32 بشكل كامل . على الرغم من هذا النقص الظاهر، قررت إنتل مؤخرًا دعم PXE على نطاق واسع ضمن مواصفات UEFI الجديدة ، مُوسِّعةً وظائف PXE لتشمل جميع بيئات EFI/UEFI. يُحدد القسم 21 من مواصفات واجهة البرامج الثابتة الموحدة القابلة للتوسيع الحالية 2.4A، بروتوكولات الشبكة - SNP وPXE وBIS، البروتوكولات التي تُتيح الوصول إلى أجهزة الشبكة أثناء التنفيذ في بيئة خدمات تمهيد UEFI. تشمل هذه البروتوكولات بروتوكول الشبكة البسيط (SNP)، وبروتوكول رمز PXE الأساسي (PXE)، وبروتوكول خدمات سلامة التمهيد (BIS). [ 4 ] [ 5 ] في بيئة PXE الحالية، نادرًا ما يعتمد اكتشاف بنية جهاز العميل على المعرّفات الأصلية المضمنة في مواصفات PXE v2.1. بدلًا من ذلك، يجب أن يكون لكل جهاز كمبيوتر سيتم تشغيله من الشبكة خيار DHCP رقم 93 مُفعّلًا للإشارة إلى بنية جهاز العميل. يُمكّن هذا خادم PXE من معرفة البنية الدقيقة لجهاز العميل (عند بدء التشغيل) من أول حزمة بيانات بدء تشغيل الشبكة. [ 6 ]
مع ظهور IPv6 ، تطور DHCP إلى DHCPv6 ؛ وقد تمت معالجة الحاجة إلى خيارات تدعم PXE ضمن بروتوكول DHCP الجديد في عام 2010. [ 7 ]
صُمم امتداد برنامج PXE الأصلي كذاكرة قراءة فقط اختيارية (Option ROM) لنظام BIOS الخاص بمعالج IA-32 ، ولذلك كان يتم في الأصل جعل الحاسوب الشخصي متوافقًا مع PXE عن طريق تثبيت وحدة تحكم واجهة الشبكة (NIC) التي توفر ذاكرة قراءة فقط اختيارية لـ PXE. أما اليوم، فيتم تضمين كود PXE الخاص بالعميل مباشرةً ضمن البرنامج الثابت لوحدة تحكم واجهة الشبكة أو كجزء من البرنامج الثابت لـ UEFI على اللوحة الأم.
على الرغم من أن برنامج PXE الثابت الأصلي للعميل قد طُوّر بواسطة إنتل ووُفّر مجانًا كوحدة نمطية بتنسيق كود كائن IA32 قابلة للربط ومضمنة في حزمة تطوير المنتج (PDK)، فقد أنتج عالم المصادر المفتوحة على مر السنين مشاريع مشتقة غير قياسية مثل gPXE و iPXE التي تقدم ذاكرات قراءة فقط (ROM) خاصة بها. وبينما تُطبّق ذاكرات القراءة فقط (ROM) القائمة على إنتل جانب العميل من معيار PXE لأكثر من 20 عامًا، كان بعض المستخدمين على استعداد للتضحية بميزات إضافية مقابل الاستقرار والتوافق مع معيار PXE. [ 8 ]
قبول
أصبح استخدام PXE شائعًا منذ الإصدار 2.1؛ واليوم يكاد يكون من المستحيل العثور على بطاقة شبكة بدون برنامج PXE الثابت. وقد جعل توفر أجهزة إيثرنت جيجابت منخفضة التكلفة (بطاقات الشبكة، والمحولات ، والموجهات ، وما إلى ذلك) من PXE أسرع طريقة متاحة لتثبيت نظام التشغيل على جهاز العميل، مقارنةً بالبدائل التقليدية مثل الأقراص المدمجة وأقراص DVD وذاكرة الفلاش USB .
على مر السنين، تضمنت العديد من المشاريع الكبرى دعم PXE، بما في ذلك:
- جميع توزيعات لينكس الرئيسية.
- نظام التشغيل OpenVMS على أجهزة HPE Integrity و x86-64 .
- خدمات التثبيت عن بُعد من مايكروسوفت (RIS)
- خدمات نشر نظام التشغيل ويندوز من مايكروسوفت (WDS)
- مجموعة أدوات نشر مايكروسوفت (MDT)
- مدير تكوين مركز النظام من مايكروسوفت (SCCM)
فيما يتعلق بتطوير NBP، هناك العديد من المشاريع التي تنفذ برامج إدارة التمهيد القادرة على توفير ميزات موسعة لقائمة التمهيد، وقدرات البرمجة النصية، وما إلى ذلك:
جميع المشاريع المذكورة أعلاه، عندما تكون قادرة على تشغيل/تثبيت أكثر من نظام تشغيل، تعمل وفق نموذج "مدير الإقلاع - مُحمِّل الإقلاع". يُعدّ NBP الأولي مدير إقلاع قادرًا على استرجاع إعداداته الخاصة وعرض قائمة بخيارات الإقلاع. يختار المستخدم خيار الإقلاع، ثم يتم تنزيل مُحمِّل الإقلاع الخاص بنظام التشغيل وتشغيله لمتابعة عملية الإقلاع المحددة.
بيئات الأشقاء
ابتكرت آبل نهجًا مشابهًا جدًا للتمهيد عبر الشبكة تحت مظلة بروتوكول اكتشاف خادم التمهيد (BSDP). نُشر الإصدار 0.1 من BSDP لأول مرة من قِبل آبل في أغسطس 1999 [ 9 ] ، ونُشر آخر إصدار منه، وهو الإصدار 1.0.8، في سبتمبر 2010 [ 10 ]. تضمن نظام التشغيل Mac OS X Server أداة نظام تُسمى NetBoot . يستخدم عميل NetBoot بروتوكول BSDP للحصول ديناميكيًا على الموارد التي تُمكّنه من تمهيد نظام تشغيل مناسب. بُني بروتوكول BSDP على بروتوكول DHCP باستخدام معلومات خاصة بالبائع لتوفير وظائف NetBoot الإضافية غير الموجودة في بروتوكول DHCP القياسي. يُنفذ البروتوكول في البرامج الثابتة للعميل. عند بدء التشغيل، يحصل العميل على عنوان IP عبر DHCP، ثم يكتشف خوادم التمهيد باستخدام BSDP. يستجيب كل خادم BSDP بمعلومات التمهيد التي تتكون مما يلي:
- قائمة بصور أنظمة التشغيل القابلة للتشغيل
- صورة نظام التشغيل الافتراضية
- صورة نظام التشغيل المختارة حاليًا من قبل العميل (إن وجدت)
يختار العميل نظام تشغيل من القائمة ويرسل رسالة إلى الخادم لتأكيد اختياره. يستجيب خادم الإقلاع المختار بتزويده بملف الإقلاع وصورة الإقلاع، وأي معلومات أخرى لازمة لتنزيل نظام التشغيل المختار وتشغيله.
بيئات المنحدرين
ابتكرت مايكروسوفت امتدادًا غير متداخل لبيئة PXE من خلال طبقة التفاوض على معلومات التمهيد (BINL). تُنفَّذ BINL كخدمة خادم، وهي عنصر أساسي في استراتيجيات خدمات التثبيت عن بُعد (RIS) وخدمات نشر ويندوز (WDS). تتضمن BINL عمليات تحضيرية محددة وبروتوكول شبكة يُمكن اعتباره امتدادًا لبروتوكول DHCP من تطوير مايكروسوفت. BINL تقنية خاصة بمايكروسوفت تستخدم برنامجًا ثابتًا قياسيًا لعميل PXE. لا توجد حاليًا مواصفات متاحة للعموم لـ BINL.
انظر أيضاً
- العُقد بدون أقراص - أجهزة الكمبيوتر بدون أقراص
- بروتوكول اكتشاف خدمة التمهيد – بروتوكول التمهيد عبر الشبكة من Apple
- بدء التشغيل عبر الشبكة
- تحميل البرنامج الأولي عن بُعد (RIPL أو RPL)
- صورة نشر النظام (SDI) - بشكل أساسي مع منتجات مايكروسوفت
- واجهة البرامج الثابتة الموحدة القابلة للتوسيع – التمهيد عبر الشبكة UEFI
- خاصية Wake-on-LAN (WOL)
- خدمات نشر ويندوز – النشر القائم على PXE لنظام التشغيل مايكروسوفت ويندوز
مراجع
- ↑ أفراموف، لوسيان (31 ديسمبر 2014). مركز البيانات الموجه بالسياسات مع ACI: البنية والمفاهيم والمنهجية . دار نشر سيسكو. ص 43. ISBN 978-1587144905في مراكز البيانات الحديثة ،
نادراً ما يقوم المسؤولون بتثبيت برامج جديدة عبر وسائط قابلة للإزالة مثل أقراص DVD. بدلاً من ذلك، يعتمدون على تقنية PXE (بيئة التنفيذ قبل التمهيد) للتمهيد من خوادم الصور.
- ↑ "Wired for Management Baseline - Version 2.0 Release" (ملف PDF) . شركة إنتل. ١٨ ديسمبر ١٩٩٨. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ ٢٢ فبراير ٢٠١٧. تم الاطلاع عليه بتاريخ ٨ فبراير ٢٠١٤ .
- 1 2 "مواصفات بيئة تنفيذ ما قبل التمهيد (PXE) - الإصدار 2.1" (ملف PDF) . شركة إنتل. 20 سبتمبر 1999. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 2 نوفمبر 2013. تم الاطلاع عليه بتاريخ 8 فبراير 2014 .
- ↑ "مواصفات واجهة البرامج الثابتة الموحدة القابلة للتوسيع" (ملف PDF) . UEFI. 2013-12-02 . تم الاطلاع عليه بتاريخ 2014-04-04 .
- ↑ "تحليل أداء الإقلاع عبر PXE في UEFI" (ملف PDF) . شركة إنتل. 2014-02-02. مؤرشف من النسخة الأصلية (PDF) بتاريخ 2014-08-08 . تم الاطلاع عليه بتاريخ 2014-04-04 .
- ↑M. Johnston (June 2006). S. Venaas (ed.). Dynamic Host Configuration Protocol (DHCP) Options for the Intel Preboot eXecution Environment (PXE). Network Working Group. doi:10.17487/RFC4578. RFC4578.Informational.
- ↑T. Huth; J. Freimann; V. Zimmer; D. Thaler (September 2010). DHCPv6 Options for Network Boot. Internet Engineering Task Force. doi:10.17487/RFC5970. ISSN 2070-1721. RFC5970.Proposed Standard.
- ↑"Etherboot/gPXE Wiki". Etherboo.org.
- ↑"NetBoot 2.0: Boot Server Discovery Protocol (BSDP) v0.1"(Doc). Apple Corporation. 2003-12-02. Retrieved 2014-04-04.
- ↑"NetBoot 2.0: Boot Server Discovery Protocol (BSDP) v1.08"(Doc). Apple Corporation. 2010-09-17. Retrieved 2014-04-04.
Further reading
- K. R. Sollins (June 1981). THE TFTP PROTOCOL (REVISION 2). Network Working Group. doi:10.17487/RFC0783. RFC783.Status Unknown. Obsoleted by RFC 1350.
- R. Finlayson (June 1984). Bootstrap Loading using TFTP. Network Working Group. doi:10.17487/RFC0906. RFC906.Status Unknown.
- Bill Croft; John Gilmore (September 1985). BOOTSTRAP PROTOCOL (BOOTP). Network Working Group. doi:10.17487/RFC0951. RFC951.Draft Standard. Updated by RFC 1395, 1497, 1532, 1542 and 5494.
- K. Sollins (July 1992). THE TFTP PROTOCOL (REVISION 2). Network Working Group. doi:10.17487/RFC1350. STD 33.RFC1350.Internet Standard 33. Obsoletes RFC 783. Updated by RFC 1782, 1783, 1784, 1785, 2347, 2348 and 2349.
- آر. درومز (مارس 1997). بروتوكول التكوين الديناميكي للمضيف . مجموعة عمل الشبكة التابعة لـ IETF . doi : 10.17487/RFC2131 . RFC 2131 .مسودة معيار. تلغي RFC 1541. تم تحديثها بواسطة RFC 3396 و 4361 و 5494 و 6842 .
- جي. مالكين؛ أ. هاركين (مايو 1998). خيار حجم كتلة TFTP . مجموعة عمل الشبكة. doi : 10.17487/RFC2348 . RFC 2348 .مسودة معيار. تحديثات RFC 1350. إلغاء RFC 1783 .
- م. جونستون (يونيو 2006). س. فيناس (محرر). خيارات بروتوكول التكوين الديناميكي للمضيف (DHCP) لبيئة تنفيذ ما قبل التمهيد من إنتل (PXE) . مجموعة عمل الشبكة. doi : 10.17487/RFC4578 . RFC 4578 .لأغراض إعلامية.
- تي هوث؛ جيه فريمان؛ في زيمر؛ د. ثالر (سبتمبر 2010). خيارات DHCPv6 لتمهيد الشبكة . فرقة عمل هندسة الإنترنت . دوى : 10.17487/RFC5970 . ISSN 2070-1721 . آر إف سي 5970 . المعيار المقترح.
- ب. ماسوتا (يناير 2015). خيار حجم نافذة TFTP . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC7440 . ISSN 2070-1721 . RFC 7440 . المعيار المقترح.
روابط خارجية
- مواصفات PXE – مواصفات بيئة تنفيذ ما قبل التمهيد الإصدار 2.1، منشورة من قبل Intel وSystemSoft
- مواصفات BIS – مواصفات خدمات سلامة التمهيد الإصدار 1.0 الصادرة عن شركة إنتل
- بيئة تنفيذ ما قبل التمهيد من إنتل – مسودة الإنترنت 00 لبروتوكول عميل/خادم PXE المضمنة في مواصفات PXE
- رموز أخطاء PXE – قائمة برموز أخطاء PXE
- تقنية شبكات الحاسوب
- معايير الشبكات
- بروتوكولات الشبكة
- بدء التشغيل عبر الشبكة
- البرامج الثابتة
- نظام الإدخال والإخراج الأساسي (BIOS)
- واجهة البرامج الثابتة الموحدة القابلة للتوسيع
