Nwlapcug.com


DHCP in Linux Embedded

DHCP in Linux Embedded


Dispositivi embedded fungono da computer all'interno del computer. Essi sono completamente self-contained dispositivi che possono eseguire servizi per le macchine che collegano a loro. La portabilità del kernel Linux rende un sistema operativo comune per questi dispositivi, ma c'è un'ulteriore sfida per i progettisti di sistemi embedded di Linux che si connettono a una rete: come garantire che il client Dynamic Host Configuration Protocol (DHCP) si connetterà sempre a un host senza input dell'utente.

Linux Embedded

Dal punto di vista software, non c'è niente di drammaticamente diversa tra un sistema Linux in esecuzione su un computer desktop e un sistema Linux in esecuzione su un dispositivo embedded. Il kernel di base è lo stesso, ma dispone solo di quei moduli che sono necessari per i componenti hardware del dispositivo embedded e i componenti con cui si connette il dispositivo. Gli sviluppatori hanno anche progettare l'hardware che gira sopra il kernel di Linux nel dispositivo incorporato per eseguire senza alcun input diretto dell'utente.

Funzione DHCP

DHCP gestisce l'assegnazione degli indirizzi IP attraverso un sistema di "locazione": un programma client DHCP richiede di "affittare" un indirizzo IP disponibile dal server DHCP. Il client quindi assegna un indirizzo IP a un particolare dispositivo, sia esso un computer o un dispositivo embedded, per un determinato periodo di tempo. Il dispositivo tenterà di utilizzare quell'indirizzo IP durante la connessione al server DHCP fino alla sua scadenza, e il server DHCP non assegna tale indirizzo IP a qualsiasi altro dispositivo fino a quando non scade il lease.

Ottenere un indirizzo

La sfida che devono affrontare i progettisti di sistemi embedded è che se un dispositivo si accende quando non è direttamente collegato a un server DHCP, esso non può ottenere un indirizzo IP dal server. Un utente di Linux su un computer desktop è possibile aggiornare manualmente la connessione quando il computer è connesso a un server, ma sistemi embedded non hanno questa opzione. Linux progettisti di sistemi embedded risolvono questo problema mediante l'aggiunta di codice per controllare se il client DHCP del dispositivo ha fissato un lease IP attivo e la connessione. Se questo controllo risulta che DHCP non dispone di una connessione attiva, il client DHCP invia il comando per provare di nuovo. Questo ciclo continua fino a quando mantiene una connessione attiva.

Backup

Sistemi embedded devono avere meccanismi di backup interni per risolvere automaticamente i problemi di connessione che gli utenti possono risolvere normalmente attraverso un dispositivo di interfaccia. Un tale meccanismo di backup per sistemi embedded utilizzando Linux è di avere un indirizzo IP statico, il dispositivo può utilizzare se dispone di una connessione attiva a un server DHCP, ma non è possibile ottenere un indirizzo IP di locazione regolare. Configurazione di Linux embedded in questo modo garantisce che il dispositivo può svolgere le sue funzioni correlate a Internet anche se si verificano errori di leasing con il server DHCP.