DNSが使用するポート番号(TCP/UDPの53)

 DNSでは、主にUDPを使用して通信を行います。名前解決でやり取りされるデータが小さいことやオーバヘッドを小さくしたいことが理由です。

 TCPを利用すると、スリーウェイハンドシェイクでセッションを確立してからでないとデータの送信を行うことができません。また、信頼性を確保するために確認応答や再送信などの処理を行うためオーバヘッドが大きくなってしまいます。

 名前解決の問い合わせは、即時性が求められますし、なにより、小さなデータをやり取りするためにTCPを利用するのは非効率です。

 DNSによる名前解決では、問い合わせ・応答ともにUDPの制限で1パケット、512bytesまでで行えるように設計されています。この512bytesという制限があるおかけで、フラグメンテーションやパケットの到着順序が変わってしまうなどの問題がなくなります。

 セカンダリDNSサーバがプライマリDNSサーバの持つデータの複製するために行うゾーン転送には、TCPポートの53番を利用します。

ファイアウォールで、DNSのパケットがフィルタリングされないように設定する必要があります。

DNS(nslookupコマンド)

 nslookupは、UNIX上でDNSが開発された当初から利用されている歴史のある古いコマンドです。DNSの名前解決機能を手動で実行するためのコマンドで、トラブルシューティング時に頼りになります。

正引き/逆引き、Aレコード/NSレコード/MXレコードなどのレコードの絞込み検索を行うことができます。

 同様のコマンドとして、UNIXやLinuxなどでは「digコマンド」や「hostコマンド」といった、より高機能なコマンドが