ow nothing about the DNS.
The most commonly used implementation of the DNS, both resolver and name server, is called BIND (the Berkeley Internet Name Domain) server. The server is called
A domain name that ends with a period is called an absolute domain name or a fully qualified domain name (FQDN). If the domain name does not end with a period, it is assumed that the name needs to be completed.
The delegation of responsibility within the DNS: no single entity manages every label in the DNS tree. instead, one entity (the NIC) maintains a portion of the tree (the top-level domains) and delegates responsibility to others for specific zones.
Once the authority for a zone is delegated, it is up to the person responsible for the zone to provide multiple name servers for that zone. Whenever a new system is installed in a zone, the DNS administrator for the zone allocates a name and an IP address for the new system and enters these into the name server's database.
What does a name server do when it doesn't contain the information requested? it must contact another name server.
The most common query type is an a type, which means an IP address is desired for the query name. a PTR query requests the names corresponding to an IP address. Oort 53 is the common name server port. A and PTR are known as resource records (RRs).
host queries to a name server to ascertain IP address.
nslookup may also be used.
dig is another.
Pointer queries (PTR query) return the name (or names) corresponding to that address. FQDNs are written from bottom of the tree up (for example sun.tuc.noao.edu.), while the DNS name for a host is written starting from the bottom, working upwards (for example 126.96.36.199.in-addr.arpa.). If there was not a separate branch of the DNS tree for handling this address-to-name translation, there would be no way to do the reverse translation other than starting at the root of the tree and trying every top-level domain.
Some servers (for example anonymous FTP) require the client's IP address to have a pointer record in the DNS. Other servers, such as the Rlogin server not only require that the client's IP address have a pointer record, but then ask the DNS for the IP addresses corresponding to the name returned in the PTR response, and require that one of the returned addresses match the source IP address in the received datagram.
There are about 20 types of RRs. for example:
- CNAME: canonical name and refers to an alias.
- MX: mail exchange record.
- NS: name server record
All name servers use a cache to reduce traffic on the internet. The unix implementation, the cache is maintained in the server not the resolver. If the
host command states a non-authoratitive answer, it has been obtained from the cache.
Generally UDP is used by DNS, however TCP may be used if the size of response exceeds 512 bytes.
Chapter 15: Trivial File Transfer Protocol (TFTP)
TFTP is intended to be used when bootstrapping diskless systems. unlike the file transfer protocol (ftp) which uses TCP, TFTP was designed to use UDP, to make it simple and small. implementations of TFTP (and its required UDP, IP, and a device driver) can fit in read-only memory.
TFTP is an example of a stop-and-wait protocol. Each data packet contains a block number that is later used in an acknowledgment packet.
Chapter 16: Bootstrap Protocol (BOOTP)
BOOTP uses UDP and normally works in conjunction with TFTP. There are two well-known ports for BOOTP: 67 for the server and 68 for the client.
Chapter 17: Transmission Control Protocol (TCP)
Even though TCP and UDP use the same network layer (IP), TCP provides a totally different service to the application layer than UDP does. TCP provides a connection-oriented, reliable, byte stream service.
Connection-oriented: the two applications using TCP (normally considered a client and a server) must establish a TCP connection with each other before they can exchange data.
TCP provides reliability by the following:
- application data is broken into what TCP considers the best sized chunks to send. This is totally different from UDP, wher