2. Formato del record SRV
2.1 Formato di base
Ecco il formato del record SRV, il cui codice tipo DNS è 33:
_Service._Proto.Name TTL Class SRV Priority Weight Port Target
2.2 Specifiche dei campi
Service
Il nome simbolico del servizio desiderato, come definito in Assigned Numbers [STD 2]. Un underscore (_) precede l'identificatore del servizio.
Proto
Il nome simbolico del protocollo desiderato, con underscore (_) preposto. _TCP e _UDP sono i valori più utili.
Priority
La priorità di questo host di destinazione. Un client DEVE tentare di contattare l'host con la priorità più bassa. Intervallo: 0-65535.
Weight
Un meccanismo di selezione del server. I pesi più alti DOVREBBERO ricevere una probabilità proporzionalmente più alta di essere selezionati. Intervallo: 0-65535.
2.3 Algoritmo di bilanciamento del carico
Il seguente algoritmo DOVREBBE essere utilizzato per ordinare i record SRV con la stessa priorità:
- Posizionare tutti i record con weight 0 all'inizio della lista
- Calcolare la somma dei pesi
- Scegliere un numero casuale uniforme tra 0 e la somma
- Selezionare il record la cui somma cumulativa è maggiore o uguale al numero casuale
Garanzia matematica:
Dati n record SRV con stessa priorità
Pesi: w₁, w₂, ..., wₙ
Passaggi:
1. Calcolare il peso totale: W = Σ wᵢ
2. Pesi cumulativi: Sᵢ = Σ wⱼ (j=1 a i)
3. Generare numero casuale: R ∈ [0, W]
4. Selezionare RRᵢ tale che: Sᵢ₋₁ < R ≤ Sᵢ
Garanzia matematica: P(RRᵢ) = wᵢ / W
Port
La porta su questo host di destinazione. Intervallo: 0-65535.
Target
Il nome di dominio dell'host di destinazione. Ci DEVE essere uno o più record di indirizzi per questo nome.
Un Target di "." significa che il servizio non è decisamente disponibile su questo dominio.
Navigazione
- Precedente: 1. Introduzione e panoramica
- Successivo: 3. Consigli per gli amministratori di dominio