DNS
DNS Mesaj Formatı

İki tür DNS mesajıyla gerçekleştirilir:
Sorgu Mesajı
Yanıt Mesajı
Format, her iki mesaj türü için de benzerdir. Bilgiler, DNS mesaj biçiminin en fazla beş farklı bölümünde tutulur. Sorgu mesajı, başlık ve soru kayıtları olmak üzere iki bölüme sahiptir.
Yanıt mesajı beş bölümden oluşur:
Başlık
Soru
Kayıtlar
Cevap Kayıtları
Yetkili Kayıtlar
Ek Kayıtlar
Sorgu mesajları iki alana ayrılmıştır, bu alanlar:
Tanımlama: Tanımlama alanı, yanıtı istemci tarafından gönderilen istek ile eşleştirmek için kullanılan 16 bitten oluşur. İstemci aygıtın sorguları sunucu tarafından alınan karşılık gelen yanıtla eşleştirebilmesi için sunucu yanıt mesajındaki 16 bitlik tanımlama değerini kopyaladığından eşleştirme bu alan tarafından gerçekleştirilir.
Bayraklar: 16 bittir ve QR (sorgu/yanıt), Opkod, AA, TC, RD, RA, SIFIR ve rKod şeklinde alanlara ayrılır.
Bayraklar alanının her bir alt alanının açıklaması şu şekildedir:
QR (sorgu/yanıt): 1 bitlik bir alt alandır. Değeri 0 ise mesaj istek tipinde, değeri 1 ise cevap tipindedir.
Opkod: Bir mesajın taşıdığı sorgu tipini tanımlayan 4 bitlik bir alt alandır. Bu alan değeri yanıtta tekrarlanır. Kısa bir açıklama ile işlem kodu değerlerinin listesi aşağıdadır:
-İşlem kodu alt alanının değeri 0 ise standart bir sorgudur. 
-1 değeri, alan adını IP Adresinden bulmayı ima eden sorgunun tersine karşılık gelir. 
-2 değeri, sunucu durumu talebini ifade eder. 3 değeri, rezerve edilen ve dolayısıyla kullanılmayan durumu belirtir.
AA: Yetkili bir cevaptır. Değer 1 ise sunucunun yetkili olduğunu, aksi takdirde 0 değeri için yetkili olmadığını belirten 1 bitlik bir alt alandır.
TC: Kesilmedir. Bu, mesajın uzunluğunun izin verilen 512 bayt uzunluğunu aşması durumunda, UDP hizmetleri kullanılırken mesajın kesileceğini belirten 1 bitlik bir alt alandır.
RD: Özyineleme istenir. Sorgu mesajında değerin 1 olarak ayarlanıp ayarlanmadığını ve ardından sunucunun sorguyu yinelemeli olarak yanıtlaması gerektiğini belirten 1 bitlik bir alt alandır. Değeri, yanıt mesajına kopyalanır.
RA: Özyineleme mevcuttur. Yanıt mesajında değer 1 olarak ayarlandıysa, özyinelemeli yanıtın kullanılabilirliğini belirten 1 bitlik bir alt alandır.
Sıfır: 0'a ayarlanmış ve 3 bit ayrılmış bir alt alandır.
rKod: Yanıt kodu anlamına gelir. Sorgunun başarılı bir şekilde yanıtlanıp yanıtlanmadığını belirtmek için kullanılan 4 bitlik bir alt alandır. Başarılı bir şekilde yanıtlanmazsa, yanıtta hatanın durumu sağlanır. Hata durumlarıyla birlikte değerlerin listesi aşağıda gösterildiği gibidir:
-rKod'un 0 değeri hata olmadığını gösterir.
-1 değeri, biçim belirtimiyle ilgili bir sorun olduğunu gösterir.
-Değer 2, sunucu arızasını gösterir.
-Değer 3, sorgu tarafından verilen adın etki alanında bulunmadığını ima eden Ad Hatasını ifade eder. 
-4 değeri, istek türünün sunucu tarafından desteklenmediğini gösterir.
-5 değeri, politika nedenlerinden dolayı sorguların sunucu tarafından yürütülmemesini ifade eder.
Soru Sayısı: Mesajın Soru Bölümünde soru sayısını belirtmek için 16 bitlik bir alandır. Hem sorgu hem de yanıt mesajlarında bulunur.
Bir cevap RR sayısı: Mesajın Cevap bölümünde cevap kayıtlarının sayısını belirten 16 bitlik bir alandır. Bu bölüm sorgu mesajlarında 0 değerine sahiptir. Sunucu, istemciden alınan sorguyu yanıtlar. Yalnızca yanıt mesajlarında bulunur.
Bir dizi yetki RR'si: Mesajın Yetkili bölümündeki kaynak kayıtlarının sayısını veren 16 bitlik bir alandır. Bu bölüm sorgu mesajlarında 0 değerine sahiptir. Yalnızca yanıt mesajlarında bulunur. Bir veya daha fazla yetkili sunucu hakkında alan adlarını içeren bilgileri verir.
Bir dizi ek RR: Çözümleyiciye yardımcı olacak ek bilgileri tutmak için ek kayıtları tutan 16 bitlik bir alandır. Bu bölüm sorgu mesajlarında 0 değerine sahiptir. Yalnızca yanıt mesajlarında bulunur.