Preboot Execution Environment: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Rimosso periodo che non aveva nessuna correlazione col contenuto nel contesto in cui si trovava.
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(27 versioni intermedie di 19 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]].
 
PXE fuFu 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 specifica]Preboot Execution Enviroment (v2.1PXE) pubblicataSpecification da Intel e Systemsoft ilVersion 202.1] settembre [[1999]].</ref>
Nel 2010 ne venne creata una implementazione ''[[open source]]'' denominata ''iPXE''.
 
== Caratteristiche ==
Questa voce descrive la modalità di funzionamento prevista nella specifica ma anche alcune varianti comunemente implementate.
=== 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 [[#ilIl Network Bootstrap Program|network bootstrap program]] (NBP) da scaricare.
PXE utilizza molteplici protocolli di rete:
 
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.
 
=== Protocolli di rete ===
PXE utilizzaUtilizza molteplici protocolli di rete:
 
* [[Internet Protocol|IP]]
Riga 12 ⟶ 20:
* [[Trivial File Transfer Protocol|TFTP]]
 
Inoltre, utilizza concetti come [[GUID]]/[[UUID]] e [[Universal Network Device Interface]] ed estende il firmware del client PXE (il computer che viene avviato via PXE) con ulteriori [[Application programming interface]]. Questa voce descrive la modalità di funzionamento prevista nella specifica, ma anche alcune varianti comunemente implementate.
 
=== Piattaforme supportate ===
==Utilizzi==
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.
Il boot via PXE viene utilizzato nei seguenti scenari:
* installazione via rete di un sistema operativo. Il sistema operativo viene installato in modo tradizionale, ovvero sulla memoria di massa. Questa modalità permette di installare un sistema operativo senza dover acquistare o masterizzare un cd-rom, e funziona anche in assenza delle periferiche spesso usate a questo scopo (lettore [[cd-rom]], memorie [[USB]], possibilmente anche monitor e tastiera)
* possibilità di caricare su un calcolatore un sistema operativo diverso da quello normalmente usato, ad esempio per riparare una installazione malfunzionante o per utilizzarlo per funzioni particolari.
* [[restore]] completo di un calcolatore da un backup.
* network computing, ovvero utilizzo primario di un sistema operativo caricato dalla rete.
 
== Funzionamento ==
PXE 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.
 
=== Uso del DHCP ===
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 TFTP un file, immagazzinandolo nella memoria RAM. Questo file viene poi eseguito, provvedendo ad avviare un sistema operativo.
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
 
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 [[#il Network Bootstrap Program|network bootstrap program]] (NBP) da scaricare.
 
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.
 
== 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 ([[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 <tt>Class Id</tt> con un valore della forma
 
“PXEClient:Arch:xxxxx:UNDI:yyyzzz”
Riga 50 ⟶ 38:
67 Bootfile-Name N Boot File Name [RFC2132]
 
Il server DHCP decide se inviare i parametri necessari al boot da rete, e quali parametri inviare, sulla base dei dati presenti nella richiesta DHCP. Ad esempio, può essere necessario fornire a calcolatori differenti diversi boot file.
Ad esempio, può essere necessario fornire a calcolatori differenti diversi boot file.
 
In particolare, il formato dell'opzione <ttkbd>Class Id</ttkbd> è costruito per codificare in modo standard i dati necessari ad identificare un client.
 
===Menu Menù PXE ===
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 [[Random Access Memory|RAM]], ne verificherà la correttezza e lo eseguirà. A questo punto il compito del PXE in senso stretto è finito, ed è il l'NBP a prendere il controllo del calcolatore.
 
=== Multicast ===
Il protocollo PXE prevede la possibilità di far scaricare il 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 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 [[Hyper TextHypertext Transfer Protocol|HTTP]], se lo scopo è installare un nuovo sistema operativo.
 
=== Menù del bootloader ===
Il bootloader''[[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.
 
== Applicazioni ed utilizzo ==
==Sicurezza==
Il boot via PXE viene utilizzato nei seguenti scenari:
* [[installazione (informatica)|installazione]] via rete di un [[sistema operativo.]], Il sistema operativoche viene installato in modo tradizionale, ovvero sulla memoria di massa. Questa modalità permette di installare un sistema operativo, senza dover acquistare o [[masterizzazione|masterizzare]] un [[cd-rom]], e funziona anche in assenza delle [[periferica|periferiche]] spesso usate a questo scopo (lettore [[cd-rom]], memorie [[USB]], possibilmente anche [[monitor (computer)|monitor]] e [[tastiera (informatica)|tastiera]])
* possibilità di caricare su un calcolatore un sistema operativo diverso da quello normalmente usato, ad esempio per riparare una installazione malfunzionante o per utilizzarlo per funzioni particolari.
* [[restore]] completo di un calcolatore da un [[backup]].
* 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 81 ⟶ 75:
Un client PXE dovrebbe assicurarsi che l'immagine che avvia venga da una sorgente di fiducia. Il protocollo prevede funzionalità in questo senso.
 
Se il 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.
 
==Collegamenti esterniNote ==
<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 [httphttps://freenode.net/ freenode.net]
* [https://web.archive.org/web/20070607191758/http://dev.brantleyonline.com/wiki/index.php/PXE_Booting_Index PXE wiki] - una wiki dedicata a PXE
* [https://web.archive.org/web/20070530024404/http://vamosproject.org/PXE Vamos project PXE page] - risorse PXE
* [https://web.archive.org/web/20140221222847/http://h18013.www1.hp.com/products/servers/management/rdp/knowledgebase/00000138.html PXE error codes] - un catalogo di codici d'errore PXE
* [http://syslinux.zytor.com/pxe.php pxelinux] - un [[boot loader]] usato per caricare altri sistemi operativi via PXE
* [http://www.sweetnam.eu/index.php/PXE/Kickstart_Rough_Howto PXE Quickstart HowTo] - Quickstart HowTo
* [https://web.archive.org/web/20070515042850/http://home.allegiance.tv/~joem298/ DOS via PXE HowTo] - Simple HowTo for booting DOS (or any other bootable floppy) via PXE using PXELINUX and TFTPD32
 
{{portale|informatica}}
 
[[Categoria:Processi di avvio]]
[[Categoria:BIOS]]