Кіріспе

Серверден жүктеу стандарты, "Adventure Time" анимациялық сериалының эпизоды

Информатикада, Preboot eXecution Environment, PXE (көбінесе /'//p//I//k//s//i:/ pixie деп айтылады, көбінесе PXE Boot/pixie boot деп аталады.) спецификациясы PXE мүмкіндігі бар клиенттерде желіден алынған бағдарламалық жиынды жүктеу үшін стандартталған клиент-сервер ортасын сипаттайды. Клиент тарапында PXE-ге қабілетті желілік интерфейс контроллері (NIC) ғана қажет, және DHCP және TFTP сияқты өнеркәсіптік стандартты желілік протоколдардың шағын жиынтығы қолданылады. PXE тұжырымы BOOTP/DHCP/TFTP сияқты протоколдардың пайда болу кезеңінде қалыптасқан, және 2015 жылдан бері ол Бірыңғай кеңейтілетін микропрограммалық интерфейс (UEFI) стандартының бөлігі болып табылады. Қазіргі заманғы деректер орталықтарында PXE операциялық жүйені жүктеу, орнату және енгізу үшін ең көп қолданылатын таңдау болып табылады.

Шолу

Компьютерлік желілердің пайда болуынан бері, клиенттік жүйелерге тиісті бағдарламалық жасақтамаларды жүктеуге және бір немесе бірнеше желілік серверлерден жүктеу кезінде алынған тиісті конфигурациялық параметрлерді пайдалануға қабілеттілік қажеттігі туындады. Бұл мақсатқа жету үшін клиентке өндіріс стандартындағы желілік протоколдарға негізделген алдын ала жүктеу қызметтерінің жиынтығы қажет. Сонымен қатар, бастапқыда жүктеп алынып, іске қосылатын Желілік жүктеу бағдарламасы (NBP) клиенттік микропрограммалық қабатты (PXE арқылы жүктелетін құрылғыда) пайдалану арқылы құрылуы тиіс, ол қоршаған желілік жүктеу ортасымен өзара әрекеттесудің аппараттық тәуелсіз, стандартталған тәсілін ұсынады. Мұндай жағдайда, қолжетімділік және стандарттарға сәйкестік желілік жүктеу процесінің жүйелік үйлесімділігіне кепілдік беру үшін маңызды факторлар болып табылады. Бұл бағыттағы алғашқы қадамдардың бірі 1984 жылы жарияланған TFTP стандарты RFC 906 болды, ол 1981 жылы жарияланған Trivial File Transfer Protocol (TFTP) стандарты RFC 783-ті жүктеу үшін стандартты файлдық беру протоколы ретінде пайдалануды белгіледі. Одан кейін 1985 жылы жарияланған Bootstrap протоколы стандарты RFC 951 (BOOTP) пайда болды, ол дискісіз клиенттік машинаға өзінің IP-мекенжайын, TFTP серверінің мекенжайын және жадқа жүктеліп, іске қосылатын NBP-нің атын анықтауға мүмкіндік берді. BOOTP-ті жүзеге асырудағы қиындықтар және басқа да себептер, 1997 жылы жарияланған Динамикалық хост конфигурациялау протоколы стандарты RFC 2131 (DHCP) әзірленуіне әкелді. TFTP/BOOTP/DHCP-нің алғашқы тәсілдері жеткіліксіз болды, себебі ол кезде камтамасыз ету ортасының қажетті стандартталған клиенттік бөлігі анықталмаған еді. Preboot Execution Environment (PXE) Intel компаниясының Wired for Management құрылымының бөлігі ретінде енгізілді және Intel және SystemSoft компаниялары жариялаған сипаттамаларда сипатталған. PXE 2.0 нұсқасы 1998 жылдың желтоқсанында, ал 2.1 жаңартуы 1999 жылдың қыркүйегінде жарияланды. PXE ортасы DHCP және TFTP сияқты бірнеше стандартты клиент-сервер протоколдарын пайдаланады (қазір 1992 жылы жарияланған RFC 1350-де анықталған). PXE схемасында камтамасыз ету процесінің клиенттік бөлігі PXE стандартының ажырамас бөлігі болып табылады және ол Желілік интерфейс картасының (NIC) BIOS кеңейтуі ретінде немесе UEFI кодындағы қазіргі құрылғылар ретінде жүзеге асырылады. Бұл ерекше микропрограммалық қабат клиентке негізгі Универсалды желілік құрылғы интерфейсінің (UNDI), минималистік UDP/IP стегінің, алдын ала жүктеу (DHCP) клиенттік модулінің және TFTP клиенттік модулінің функцияларын қолжетімді етеді, олар PXE ортасының серверлік бөлігі ұсынатын қызметтермен өзара әрекеттесу қажет болғанда NBP қолданатын PXE қолданбалық бағдарламалау интерфейстерін (API) құрайды. TFTP-нің төмен өнімділігі, әсіресе жоғары жауап уақыты бар желілерде пайдаланылған кезде, бастапқыда 1998 жылдың мамырында жарияланған TFTP Blocksize Option RFC 2348, ал кейіннен 2015 жылдың қаңтар айында жарияланған TFTP Windowsize Option RFC 7440 арқылы жеңілдетілді, бұл үлкенірек пайдалы жүктемені жеткізуге және өнімділікті арттыруға мүмкіндік берді.

Егжей-тегжейлер

PXE ортасы индустриялық стандарттағы Интернет протоколдарының, атап айтқанда UDP/IP, DHCP және TFTP комбинациясына негізделген. Бұл протоколдар таңдалды, себебі оларды клиенттің желілік картасының (NIC) микрокодқа оңай енгізуге болады, нәтижесінде стандартталған, кішкентай көлемді PXE микрокодтары құрылады. Стандарттау, PXE микрокодтарының кішкентай өлшемі және олардың ресурстарды аз қолдануы – PXE стандартының клиенттік бөлігін қуатты клиенттік компьютерлерден бастап, шектеулі ресурстарға ие бір тақталı компьютерлерге (SBC) және чиптегі жүйелік компьютерлерге (SoC) дейін әртүрлі жүйелерде бірдей жүзеге асыруға мүмкіндік беретін негізгі жобалау мақсаттарының бірі. DHCP клиентке қажетті желілік параметрлерді және TFTP серверінің орналасқан жерін (IP-мекенжайын) – бастапқы жүктеу бағдарламасын (NBP) және қосымша файлдарды жүктеуге дайын күйде ұсыну үшін қолданылады. PXE жүктеу сеансын бастау үшін клиенттің PXE микрокодының DHCP компоненті 67/UDP портына (DHCP серверінің порты) PXE-ге тән опцияларды қамтитын DHCPDISCOVER пакетін жібереді; ол қажетті желілік конфигурация мен желілік жүктеу параметрлерін сұрайды. PXE-ге тән опциялар бастамасы берілген DHCP транзакциясын PXE транзакциясы ретінде анықтайды. Стандартты DHCP серверлері (PXE қолдауы жоқ) желілік ақпаратты (мысалы, IP-мекенжайын) қамтитын, бірақ PXE-ге тән параметрлерді емес, қарапайым DHCPOFFER пакетімен жауап бере алады. PXE клиенті PXE қолдауы жоқ DHCP серверінен жауап алса, жүктеле алмайды. PXE қолдауы бар DHCP серверінен алынған DHCPOFFER пакетін талдағаннан кейін клиент өзінің желілік IP-мекенжайын, IP-маскасын және т.б. орната алады, сондай-ақ алынған TFTP серверінің IP-мекенжайы мен NBP атауына сүйене отырып, желіде орналасқан жүктеу ресурстарын көрсетуге болады. Клиент одан кейін NBP-ді TFTP арқылы өзінің жедел жадына (RAM) көшіреді, мүмкін оны тексеріп (мысалы, UEFI Secure Boot) және соңында одан жүктеледі. NBP – жүктеу тізбегі процесінің алғашқы буыны ғана, және олар әдетте TFTP арқылы минималистік операциялық жүйені (мысалы, WindowsPE немесе негізгі Linux ядросы + initrd) іске қосу үшін қосымша файлдардың кішкентай жиынтығын сұрайды. Кішкентай операциялық жүйенің атқарушы механизмі өзінің желілік драйверлерін және TCP/IP стегін жүктейді. Бұл кезде толық операциялық жүйені жүктеу немесе орнату үшін қажетті қалған нұсқаулар TFTP арқылы емес, сенімді деректерді беру протоколын (HTTP, CIFS немесе NFS сияқты) пайдалана отырып беріледі.

Тұқымдық орталар

Microsoft PXE ортасына қатыспайтын кеңейтімді Boot Information Negotiation Layer (BINL) арқылы жасады. BINL серверлік қызмет ретінде жүзеге асырылады және олардың қашықтан орнату қызметтері (RIS) мен Windows Deployment Services (WDS) стратегияларының маңызды бөлігі болып табылады. Ол белгілі бір дайындық процедураларын және Microsoft жасаған DHCP кеңейтім деп санауға болатын желілік протоколды қамтиды. BINL – PXE стандартының клиенттік микробағдарламасын пайдаланатын Microsoft-тың эксклюзивті технологиясы. Қазіргі таңда BINL-дің ашық спецификациясы жоқ.