From the database transaction point of view,
DNS is a network protocol based on the server-client
model, in which servers are nameservers, and clients are called resolvers. A server waits
for queries on the well-known UDP and TCP ports of 53.
A resolver first sends a query
over UDP, rather than TCP, to the well-known port of an appropriate server as required in
[RFC1123], and the server sends a response to the client over UDP. TCP is used for some
special cases such as zone transfer or when the message is too large to carry over UDP.