Risposte:
Un indirizzo di trasmissione è sempre relativo a una determinata rete, non esiste alcuna trasmissione di per sé ; quando si dispone di una rete, è possibile calcolare il suo indirizzo di trasmissione sostituendo tutti i bit host con 1s; in poche parole, l'indirizzo di trasmissione è l'indirizzo con il numero più alto che puoi avere sulla rete, mentre l'indirizzo di rete è il più basso (con tutti i bit host impostati su 0s); questo è il motivo per cui non è possibile utilizzare nessuno dei due come indirizzi host effettivi: sono riservati per questo uso.
Se la tua rete è 192.168.1.0/24, il tuo indirizzo di rete sarà 192.168.1.0 e il tuo indirizzo di trasmissione sarà 192.168.1.255.
Se la tua rete è 192.168.0.0/16, il tuo indirizzo di rete sarà 192.168.0.0 e il tuo indirizzo di trasmissione sarà 192.168.255.255.
E così via...
255.255.255.255 è un indirizzo di trasmissione speciale, che significa "questa rete": ti consente di inviare un pacchetto di trasmissione alla rete a cui sei connesso, senza preoccuparti effettivamente del suo indirizzo; in questo è simile a 127.0.0.1, che è un indirizzo virtuale che significa "host locale".
Maggiori informazioni qui: http://en.wikipedia.org/wiki/Broadcast_address
Per aggiungere a quanto affermato da Massimo nella sua risposta:
255.255.255.255 verrebbe considerato l'indirizzo di trasmissione del livello fisico mentre 192.168.1.255 verrebbe considerato l'indirizzo di trasmissione del livello di rete. ARP genererebbe una trasmissione a livello fisico, mentre NetBIOS genererebbe una trasmissione a livello di rete.
In linea di principio, 255.255.255.255 è l'indirizzo di trasmissione "globale", il che significa che si suppone che lo stack IP invii il pacchetto a tutte le interfacce di rete e che i router configurati per inoltrare le trasmissioni debbano inviarli.
In pratica, non ci sono quasi router che inoltrano trasmissioni e molti stack inviano semplicemente una copia del pacchetto all'interfaccia a cui punta il percorso predefinito.
L'indirizzo di trasmissione della sottorete viene utilizzato per selezionare un'interfaccia specifica. In entrambi i casi, questi dovrebbero essere mappati all'indirizzo di trasmissione del livello di rete (che sarebbe FF: FF: FF: FF: FF: FF per Ethernet).
In generale, l'utilizzo di 255.255.255.255 è una cattiva idea, in quanto esistono diverse configurazioni in cui l'interfaccia con il percorso predefinito è esattamente la scelta sbagliata. Selezionare esplicitamente un'interfaccia è meglio, ma deve essere fatto con attenzione.
L'altro mio suggerimento sarebbe di usare il multicast, se questo ha senso per la tua applicazione. Si applicano ancora le stesse avvertenze del traffico di trasmissione, ma ciò consente agli host non interessati di identificare rapidamente i pacchetti e consente ai gestori di rete di impostare regole di inoltro specifiche per il protocollo.