Preboot Execution Environment: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
nota |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(3 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1:
'''Preboot Execution Environment''' (PXE), ovvero '''ambiente di esecuzione pre-boot''', in [[informatica]], indica un metodo per eseguire il [[boot]] di un [[computer]] utilizzando una [[connessione (informatica)|connessione]] di rete [[ethernet]] ed il supporto di un [[server]], senza bisogno di una [[unità di memoria di massa]].
Fu introdotto come parte del [[framework]] ''Wired for Management'' di [[Intel]], ed è descritto nella specifica pubblicata da Intel e Systemsoft il 20 settembre [[1999]].<ref>{{en}}[https://web.archive.org/web/20131102003141/http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf Preboot Execution Enviroment (PXE) Specification Version 2.1] </ref>
Nel 2010 ne venne creata una implementazione ''[[open source]]'' denominata ''iPXE''.
== Caratteristiche ==
=== Funzionamento ===
Può essere considerato uno dei modi per caricare il sistema operativo su un calcolatore. Quando è presente la funzionalità PXE, il [[BIOS]] presenta all'utente la possibilità di scegliere, tra i possibili dispositivi da cui caricare il [[sistema operativo]], il boot da rete. Se viene selezionata questa opzione, il firmware PXE utilizza DHCP per configurare un [[indirizzo IP]] sulla [[scheda di rete]] ed individuare un server ("boot server") da cui scaricare via [[Trivial File Transfer Protocol|TFTP]] un file, immagazzinandolo nella memoria RAM. Questo file viene poi eseguito, provvedendo ad avviare un sistema operativo.
Nella modalità di funzionamento prevista dallo standard, il server DHCP non fornisce direttamente il boot server, ma agisce da "PXE redirection service", ovvero redirige il client ai '''server PXE''' disponibili. I server PXE sono server DHCP modificati, che utilizzano la porta UDP 4011, e forniscono al client l'indirizzo IP del boot server ed il nome del [[#
Nella pratica, normalmente il firmware PXE è in grado di ricevere direttamente dal server DHCP i parametri necessari per identificare il boot server e il file da scaricare, ed è quindi possibile configurare un normale server DHCP per fornire i parametri necessari al boot via PXE.
Riga 23:
=== Piattaforme supportate ===
PXE è stato progettato per essere utilizzabile su molte architetture. La specifica v2.1 definisce identificatori di architettura per 6 tipi di sistemi, compresi IA64 Itanium architecture e Alpha. Tuttavia, la specifica copre completamente solo Intel [[32 bit|32 Bit]] ([[IA-32]]). Intel ha incluso PXE nella [[Extensible Firmware Interface]] per [[IA-64]], creando uno standard [[de facto]] con la sua implementazione.
=== Uso del DHCP ===
Il client PXE si identifica come tale verso il server DHCP, inserendo nel pacchetto DHCPDISCOVER, il parametro <kbd>Class Id</kbd> con un valore della forma
Riga 42:
In particolare, il formato dell'opzione <kbd>Class Id</kbd> è costruito per codificare in modo standard i dati necessari ad identificare un client.
===
Il protocollo PXE permette inoltre al server DHCP di inviare al client gli elementi per offrire all'utente un menù con diverse opzioni di boot. Questo menù viene implementato dal firmware PXE, e permette di proseguire nel processo di boot con diversi server o file a seconda delle scelte dell'utente.
== Scaricamento del Network Bootstrap Program ==
Dopo aver identificato il boot server da usare ed il nome del file da scaricare, il firmware PXE scaricherà questo file via TFTP, memorizzandolo nella propria [[RAM]], ne verificherà la correttezza e lo eseguirà. A questo punto il compito del PXE in senso stretto è finito, ed è l'NBP a prendere il controllo del calcolatore.
=== Multicast ===
Il protocollo PXE prevede la possibilità di far scaricare l'NBP in modalità [[multicast]], in modo da ridurre il carico sulla rete e sul server nel caso molti client tentino di avviarsi contemporaneamente.
== Il Network Bootstrap Program ==
In pratica, spesso l'NBP è in effetti un [[boot loader]], ovvero un programma che a sua volta scarica via TFTP il kernel del sistema operativo e possibilmente un "initial ramdisk", ovvero l'immagine di un [[File system|filesystem]] che viene copiata in memoria RAM (detta comunemente [[initrd]]).
L'immagine di disco contenuta nell'initrd potrà accedere ad ulteriori componenti attraverso la rete, ad esempio montare un filesystem di rete, come [[Network File System|NFS]] o [[Server message block#Storia|CIFS]], se lo scopo è realizzare una installazione diskless, oppure scaricare moduli di un programma di installazione e sistema operativo da installare via [[File Transfer Protocol|FTP]] o [[Hypertext Transfer Protocol|HTTP]], se lo scopo è installare un nuovo sistema operativo.
=== Menù del bootloader ===
Il ''[[booloader]]'' può offrire all'utente un menù con diverse opzioni di boot, e/o la possibilità di modificare i parametri passati al sistema operativo, ed implementare diversi modi di scaricare il resto del sistema operativo.
Riga 66:
* network computing, ovvero utilizzo primario di un sistema operativo caricato dalla rete.
== Sicurezza ==
PXE eredita tutte le debolezze di DHCP, ma ne amplifica la portata, in quanto al protocollo viene demandata non solo l'assegnazione di un indirizzo IP, ma la selezione di un sistema operativo da eseguire, che avrà il controllo completo dell'hardware.
Riga 77:
Se l'NBP contiene dati sensibili, come ad esempio password o chiavi crittografiche per accedere ad altri servizi, è possibile che un estraneo collegato abusivamente alla rete ne ottenga una copia, pertanto bisogna assicurarsi che tale file venga inviato solo a client di fiducia.
==
<references/>
== Voci correlate ==
* [[Boot]]
* [[DHCP]]
* [[Intel]]
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* RFC 4578 - Parametri DHCP usati con PXE
* [irc://irc.freenode.net/pxe #pxe] - Un canale dedicato a PXE su [https://freenode.net/ freenode.net]
|