<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Supporto Tecnico Enterprise : DNS Server</title><link>http://blogs.technet.com/itasupport/archive/tags/DNS+Server/default.aspx</link><description>Tags: DNS Server</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>DNS Server – Algoritmi di ordinamento delle risposte</title><link>http://blogs.technet.com/itasupport/archive/2009/03/06/dns-server-algoritmi-di-ordinamento-delle-risposte.aspx</link><pubDate>Fri, 06 Mar 2009 03:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3209151</guid><dc:creator>itentblg</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/itasupport/comments/3209151.aspx</comments><wfw:commentRss>http://blogs.technet.com/itasupport/commentrss.aspx?PostID=3209151</wfw:commentRss><description>&lt;P&gt;Capita spesso, in un server DNS, che per un singolo nome host si abbiano più indirizzi IP corrispondenti. In questa situazione il server DNS restituisce un elenco contenente tutti gli indirizzi associati al nome richiesto in fase di risoluzione.&lt;/P&gt;
&lt;P&gt;Quando il DNS ha più record A per un singolo nome, esso applica due algoritmi di ordinamento distinti:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;ROUND ROBIN &lt;/LI&gt;
&lt;LI&gt;NETMASK ORDERING&lt;/LI&gt;&lt;/OL&gt;
&lt;H3&gt;Round Robin&lt;/H3&gt;
&lt;P&gt;Il primo algoritmo è abbastanza semplice, è un primitive load balancing che in maniera ciclica mette in testa alla risposta sempre un server diverso. &lt;BR&gt;Ad esempio se la lista iniziale è A-B-C, il DNS risponderà con:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A-B-C&lt;/LI&gt;
&lt;LI&gt;B-C-A&lt;/LI&gt;
&lt;LI&gt;C-A-B&lt;/LI&gt;
&lt;LI&gt;A-B-C &lt;BR&gt;...etc...&lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;NetMask Ordering&lt;/H3&gt;
&lt;P&gt;Il secondo algoritmo, serve per dare priorità alle risorse locali, mettendo in cima alla risposta gli indirizzi che appartengono alla stessa sottorete del client che fa la richiesta.&lt;/P&gt;
&lt;P&gt;L’algoritmo utilizza una netmask fissa per individuare la "vicinanza" degli IP, &lt;U&gt;senza tenere conto della netmask dell'IP del client&lt;/U&gt;. &lt;/P&gt;
&lt;P&gt;Il server &lt;U&gt;utilizza di default una netmask di classe C&lt;/U&gt;, che nel caso più semplice, fa si che se un IP della lista ha i primi tre ottetti uguali all'IP del client, allora viene messo in cima alla risposta.&lt;/P&gt;
&lt;P&gt;Nel caso di più match positivi, la lista viene sottoposta ulteriormente al Round Robin, sempre però mantenendo il blocco di risorse locali in testa alla risposta.&lt;/P&gt;
&lt;P&gt;Riassumendo, il DNS server applica in sequenza questi due algoritmi e ordina la risposta in questo modo:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Risorse locali in Round Robin (se esistono)&lt;/LI&gt;
&lt;LI&gt;Round Robin degli altri record&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Come detto, di default è applicata una netmask di classe C (255.255.255.0), ma esiste una chiave per modificare questo comportamento:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;[&lt;B&gt;HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters\LocalNetPriorityNetMask&lt;/B&gt;] &lt;BR&gt;&lt;/I&gt;&lt;I&gt;type: DWORD &lt;BR&gt;&lt;/I&gt;&lt;I&gt;Value: FF -&amp;gt; FFFFFF&lt;/I&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Questi sono i valori più comuni:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;FFFFFF = 255.0.0.0 &lt;BR&gt;FFFF = 255.255.0.0 &lt;BR&gt;FF = 255.255.255.0&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;ma si può settare anche un valore specifico in base alla propria configurazione di rete, utilizzando la logica negata per ricavare il valore della chiave partendo dalla netmask:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;netmask (DEC)= 255.255.240.0 &lt;BR&gt;netmask (BIN)= 11111111.11111111.11110000.00000000 &lt;BR&gt;netmask (HEX)= FF.FF.F0.00&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;negando la netmask si ottiene il valore della chiave: &lt;B&gt;00.00.0F.FF&lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;netmask (DEC)= 255.255.252.0 &lt;BR&gt;netmask (BIN)= 11111111.11111111.11111100.00000000 &lt;BR&gt;netmask (HEX)= FF.FF.FC.00&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;negando la netmask si ottiene il valore della chiave: &lt;B&gt;00.00.03.FF&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;E’ importante sottolineare che il NetMask Ordering non tiene conto delle subnet e dei siti configurati in Active Directory, ma solamente dell'IP del client che fa la richiesta.&lt;/P&gt;
&lt;P&gt;Per maggiori informazioni è disponibile la seguente documentazione:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://technet.microsoft.com/en-us/library/cc772774.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/cc772774.aspx"&gt;How DNS Works&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://support.microsoft.com/kb/842197" target=_blank mce_href="http://support.microsoft.com/kb/842197"&gt;Description of the netmask ordering feature and the round robin feature in Windows Server 2003 DNS&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/itasupport/pages/gianluca-bertelli.aspx" mce_href="http://blogs.technet.com/itasupport/pages/gianluca-bertelli.aspx"&gt;Gianluca Bertelli&lt;/A&gt; &lt;BR&gt;Support Engineer &lt;BR&gt;Microsoft Enterprise Platforms Support&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3209151" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/itasupport/archive/tags/Windows+Team/default.aspx">Windows Team</category><category domain="http://blogs.technet.com/itasupport/archive/tags/Gianluca+Bertelli/default.aspx">Gianluca Bertelli</category><category domain="http://blogs.technet.com/itasupport/archive/tags/DNS+Server/default.aspx">DNS Server</category></item></channel></rss>