mirror of
https://github.com/jackyzha0/quartz.git
synced 2026-03-24 23:15:46 -05:00
75 lines
2.8 KiB
Markdown
75 lines
2.8 KiB
Markdown
---
|
||
title: "11-DNS"
|
||
tags:
|
||
- lecture
|
||
- cosc301
|
||
---
|
||
|
||
> [!INFO]
|
||
> hosts are named by ip addresses: e.g., 192.168.1.2
|
||
> we want to map an ip address to a readable name so it is memorable
|
||
> in the past it was easy to store all the name of possible address in a folder `/etc/hosts`.
|
||
> it uses a NIC networking inforamtion system.
|
||
> but this is only for LAN
|
||
> impossible to store all IP addresses in the internet this way
|
||
|
||
|
||
> [!INFO]
|
||
> DNS resolves a name to an IP address. can also do reverse mapping (this is useful for detecting spam emails).
|
||
|
||
> [!INFO] distributed dns
|
||
> now dns is distributed. it is a BIND (berkely internet name domain) service.
|
||
> to do something distributedly. each LAN has their own NIS. each LAN manages their own domain names and IP addresses.
|
||
> LANs can talk between each other.
|
||
> we use a tree structure for domain names
|
||
> at the start we have a root domain ⇒ `.`
|
||
> then we have domains ⇒ `.com`, `.nz`, `.org`
|
||
> then sub domains ⇒ `google.com`, `ocss.nz`
|
||
> and sub sub ⇒ `otago.ac.nz`
|
||
> the advatage of tree structure is that the parent only need to know the domain name of the sub domains and the name server
|
||
|
||
> [!INFO] google.com -> otago.ac.nz
|
||
> first find nameserver for `.nz` if they already know the address for `.nz` then can go directly
|
||
> otherwise they need to go through the root name server `.`
|
||
> you should configure this root Domain name server on a new installation
|
||
> the root name server send the address of the `.nz` name server which sends the address of the `.ac.nz` name server, and so on until you get the final address
|
||
|
||
> [!INFO] nameserver storage
|
||
> some nameservers such as `.nz` are held by IANA
|
||
|
||
> [!DEFINITION] NIS
|
||
> network information system
|
||
|
||
> [!DEFINITION] DNS
|
||
> domain name service
|
||
|
||
> [!INFO] DNS vs NIS
|
||
> dns is centralised, NIS is local
|
||
|
||
> [!INFO] Queries
|
||
> iterative query - doesn't give you the final answer only gives the name of the next server
|
||
> recursive query - only send the recurive query to final server. this must return the data requested for tell you that it doesn't exist.
|
||
> a LAN with an NIS will return recursive queries for all subdomain with that LAN
|
||
|
||
Problem
|
||
- How to get the IP address with an IP name?
|
||
- Mapping between IP addresses and IP names
|
||
- Simple solution
|
||
- Central database, like /etc/hosts or Sun
|
||
Microsystems’ NIS (Network Information
|
||
Service) or Windows’ WINS for LAN.
|
||
- E.g. tkm.govt.nz 13.77.63.24
|
||
- However, keeping billions of such records
|
||
in a central database used by billions of
|
||
users is almost impossible.
|
||
|
||
Domain Name Service (DNS)
|
||
- A distributed solution
|
||
- Each organisation, called domain, maintains
|
||
its own database and answers queries about
|
||
its domain.
|
||
- E.g.
|
||
- oucs1120.otago.ac.nz 139.80.22.10
|
||
- oucs1234.otago.ac.nz 139.80.34.67
|
||
- chasm.otago.ac.nz 139.80.45.90
|
||
- hextreme.otago.ac.nz 139.80.63.88 |