SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
© Peter R. Egli 2015
1/17
Rev. 3.60
DNS - Domain Name System indigoo.com
Peter R. Egli
INDIGOO.COM
INTRODUCTION TO DNS, THE INTERNET'S
DISTRIBUTED NAMING SYSTEM
DNS
DOMAIN NAME SYSTEM
© Peter R. Egli 2015
2/17
Rev. 3.60
DNS - Domain Name System indigoo.com
Contents
1. DNS Purpose
2. DNS Elements
3. DNS Name Space Hierarchy
4. DNS Terms
5. DNS Packet
6. DNS Resource Record
7. DNS Root Servers
8. DNS Operation
9. DNS Iterative and Recursive Query
10. DNS Pointer Query
11. Dynamic DNS
12. International Domain Names
© Peter R. Egli 2015
3/17
Rev. 3.60
DNS - Domain Name System indigoo.com
1. Purpose of DNS (RFC1034 / RFC1035)
DNS purpose:
DNS provides a mapping between symbolic names and IP addresses in a worldwide
distributed and hierarchic database.
Addressing before DNS was introduced:
Prior to the introduction of DNS, symbolic name to IP address mappings were stored in the file
hosts on each computer or host. Naturally, this scheme did not scale well because updates to
the hosts file were necessary on each host every time a new host joined the network.
This file still exists and may contain static mappings, e.g. localhost to 127.0.0.1 and ::1:
Windows: C:Windowssystem32driversetchosts
Unix / Linux: /etc/hosts
DNS key characteristics:
• DNS is a distributed system (many servers cooperating, worldwide).
• Hierarchy & delegation (if one server does not know the binding, it goes up the hierarchy).
• Names are organized in a tree-structure allowing delegation of responsibility.
© Peter R. Egli 2015
4/17
Rev. 3.60
DNS - Domain Name System indigoo.com
2. DNS elements
Every organisation running DNS must operate 2 DNS servers (redundancy).
Like HTTP pages, DNS records can be cached (in the client or in DNS servers). The lifetime of a
record is contolled by the DNS TTL (Time-To-Live).
Resolver
DNS client
Application
Host
Zone
Transfer
Provider Access /
Corporate network
Internet
DNS Query
DNS Response
DNS ServerSecondary DNS
Server
Primary DNS
Server
DB Cache DB
DB
DNS Cache
DNS Server
DNS Query
DNS Response
Windows:
ipconfig /flushdns
ipconfig /displaydns
The primary server transfers the entire set of DNS records (mapping name to IP) in
a zone transfer. Both the primary and secondary (and ternary if available) DNS server
deliver authoritative records.
© Peter R. Egli 2015
5/17
Rev. 3.60
DNS - Domain Name System indigoo.com
Unnamed root node
com edu gov int mil net org ae ch zw
zhaw
www
Country domainsGeneric domains
TLD
Top Level
Domains
3. DNS Name Space Hierarchy
The name space is organised in a (hierarchic) tree.
Responsibility for a subtree can be delegated to
another organisation (e.g. from
an ISP to a company).
google
www
zhaw
www
FQDN: „www.zhaw.ch.“
Labels (1 ... 63 chars) per
node
Zones
arpa
in-addr
xxx
xxx
xxx
xxx
2nd level
domains
in-addr.arpa
name space
Generic top-level domains (gTLDs including «new gTLDs»)
Country code top-level domains (ccTLDs)
© Peter R. Egli 2015
6/17
Rev. 3.60
DNS - Domain Name System indigoo.com
4. DNS terms (1/4)
Root (name) server:
Servers that have in their database IPs of top level servers (gTLD servers).
Every server knows at least 2 root servers which in turn know all top level domains.
Where are the root servers? http://www.root-servers.org/
DNS client:
Performs lookups (resolver).
Sometimes the requesting application and not the resolver is called client. But from the server‘s point of view
the resolver is the client.
DNS server:
a. When RR is in local database (authoritative or cached), the server returns requested RR (Resource Record
with mapping nameIP).
b. When RR is not in local database, the server performs lookup on behalf of client (recursive query).
c. When RR is not in local database, the server returns IP address of DNS server higher up in the hierarchy
(iterative query).
DNS resolver:
Process/program that performs name lookup on behalf of application.
Access to DNS resolver from applicaton is through OS calls: gethostbyname(), gethostbyaddress().
© Peter R. Egli 2015
7/17
Rev. 3.60
DNS - Domain Name System indigoo.com
4. DNS terms (2/4)
Primary name server:
Authoritative name server for zone. The databases of the primary and secordary name server contain the
authoritative RRs (changes to the database are made here).
Secondary name server:
Serves as (hot standby) server for primary server.
The secondary name server is also authoritative.
The secondary name server maintains a database with cached name records from the primary server
(through zone transfers every 3 hours or so).
TLD (Top Level Domain):
All nodes in name tree directly underneath the root node are TLDs.
The TDLs are: arpa, com, edu, gov, int, mil, net, org, and all country domains.
Generic domain:
Top-level domains that are not country level domains: arpa, com, edu, gov, int, mil, net, org.
Resource record RR:
Record that contains mapping nameIP.
© Peter R. Egli 2015
8/17
Rev. 3.60
DNS - Domain Name System indigoo.com
4. DNS terms (3/4)
Name space:
Defines a hierarchic tree of names and labels.
Label:
„Token“ of DNS name (the pieces between the dots). E.g. in www.zhaw.ch. www, zhaw and ch are labels.
Zone:
Part of name tree that is separately administered. Zones may contain smaller zones in a hierarchic way.
A zone that contains another zone delegates administration and responsibility for the name space of the
contained zone (to the contained zone). Each zone must have one primary and at least 1 secondary name
server (redundancy).
FQDN (Fully Qualified Domain Name):
Name that fully specifies a host. Example: www.zhaw.ch. is a FQDN.
Note: FQDNs have a dot at the end to indicate that it is an FQDN (the dot represents the root node).
Relative domain name:
All non-FQDN are relative domain names. Example: e.g. zhaw.ch.
Authoritative record:
Record that comes from the authority that manages the record (opposite: cached records in non-authoritative
servers). DNS servers responsible for a zone return authoritative records (primary, secondary DNS server).
© Peter R. Egli 2015
9/17
Rev. 3.60
DNS - Domain Name System indigoo.com
4. DNS terms (4/4)
Registrar:
In each country an organisation is responsible for name registration.
E.g. Switzerland: Switch (www.switch.ch). Germany: Denic.
Iterative vs. recursive lookup:
Recursive lookup: DNS server performs lookup on behalf of the client (if RR not contained in local database).
Iterative lookup: DNS server returns IP address of the next or root DNS server to client (if RR not contained in
local database).
Pointer query:
Reverse lookup IPname. Pointer queries may be used for verification/authentication, e.g. of email senders.
Glue record:
A (Address) record for name server that has a name within the domain served by the server. Glue
records are required to break the query deadlock in referrals which return name servers in the queried
domain.
Referral:
A queried name server returns a name or address of a server that is ‚closer‘ to the answer domain.
© Peter R. Egli 2015
10/17
Rev. 3.60
DNS - Domain Name System indigoo.com
5. DNS Packet
 DNS uses the same format for query and
response.
 DNS uses UDP (port 53), but for large transfers
(zone transfers) it uses TCP (DNS
then uses format of zone file, see
http://www.isoc.org/briefings/020/zonefile.shtml).
identification („TID“)
questions
flags
number of Qs number of answer RRs
number authority RRs number of additional RRs
answers
(variable number of RRs)
authority
(variable number of RRs)
additional records
(variable number of RRs)
QR opcode AA TC RD RA (zero) rcode
The question for the name server
RRs answering the question
RRs pointing toward an authority
RRs holding additional information
QR: query (0) response (1)
opcode: 0=standard query, 1=inverse query, 2=server status
query
AA: 1=authoritative answer
TC: 1=truncated; if UDP then size exceeded 512 bytes
RD: 1=recursion desired, client can request server to handle
request recursively
RA: 1=recursion available (set in response if server support
recursion)
rcode: 0=no error, 3=name error
© Peter R. Egli 2015
11/17
Rev. 3.60
DNS - Domain Name System indigoo.com
6. DNS Resource Record
A DNS record contains the information queried for (value field) in the question plus additional
information on the record (TTL, class, type of record).
domain_name: Domain name
TTL: Defines how long the RR may be cached
before authoritative server should be queried
again (usually TTL = 1 or 2 days).
class: “IN” für Internet (DNS supports also other
classes such SNA, DECbit etc.)
type: Kind of record.
SOA: Start Of Authority Zone admin info (primary name server name etc.).
A: Address Host IP address.
NS: Name Server Authoritative name server.
CNAME: Canonical NAME Canonical name for an alias.
PTR: PoinTer Record Pointer (IPname).
HINFO: Host INFO Host info (host / server's type of CPU/OS).
MX: Mail eXchange record Name of host of zone that can accept mail.
xyz Many other types of lesser use.
value: Mapping/binding (IP address for A type).
© Peter R. Egli 2015
12/17
Rev. 3.60
DNS - Domain Name System indigoo.com
7. DNS root servers
 DNS root servers are the most critical component in the entire DNS.
List of root servers: http://www.root-servers.org/.
Root servers basically publish the „root zone file“ – a file containing all names and IP addresses of all top-
level domains (gTLDs and ccTLDs). See http://www.isoc.org/briefings/020/zonefile.shtml.
Root zone file excerpt:
…
$ORIGIN .
LU 172800 IN NS MERAPI.SWITCH.CH.
$ORIGIN SWITCH.CH.
MERAPI 172800 IN A 130.59.211.10
172800 IN AAAA 2001:620::5
$ORIGIN .
LU 172800 IN NS SUNIC.SUNET.SE.
…
There are 13 logical root servers, named ‚A‘ through ‚M‘, each administered by a different organisation.
Some organisations (such as RIPE, K-root-server) chose to run multiple redundant physical root servers
(called „mirrors“, DNS server clusters) distributed worldwide. See http://k.root-servers.org/ for RIPE‘s root
servers. These mirrored root servers are reachable through IPv4 anycast (same IP address, but depending
on the host‘s location the nearest root server is reached by a querying host):
Mirrored DNS root servers are reachable through
different paths. Normal IP routing ensures that
the querying host reaches the „nearest“ mirrored
DNS root server (BGP4 distributes routes in
the network).
Querying
host
DNS server
20.0.0.1
DNS server
20.0.0.115.0.10.2
15.0.10.1
Route table:
Dest. Mask Next-Hop Distance
15.0.0.0 29 127.0.0.1 0
20.0.0.1 32 15.0.10.1 1
20.0.0.1 32 15.0.10.2 2
© Peter R. Egli 2015
13/17
Rev. 3.60
DNS - Domain Name System indigoo.com
8. DNS Operation
Case A. Server does not know binding (not cached locally):
Example: flits.cs.vu.nl looks up linda.cs.yale.edu
1. flits.cs.vu.nl asks local DNS server cs.vu.nl.
2. cs.vu.nl does not have binding, but as per RFC1035
must have IP address of server for ‘edu’ = edu-server.net.
cs.vu.nl forwards request to edu-server.net.
3. edu-server.net must know IP address of all of its children,
so it forwards the request to yale.edu.
4. yale.edu must know all of its children so it forwards request
to cs.yale.edu.
5. cs.yale.edu is authoritative server for all children underneath cs.yale.edu so it replies with the
corresponding record.
6./7./8. The reply goes back to the client (through all servers).
Case B. Server knows binding (cached) and directly responds to client.
.edu
© Peter R. Egli 2015
14/17
Rev. 3.60
DNS - Domain Name System indigoo.com
9. DNS recursive versus iterative queries
Recursive: The first contacted DNS server performs the lookup on behalf of the client;
resolvers (clients) use recursive query.
Iterative: The first contacted DNS server refers the client to some other server in the hierarchy;
servers use iterative query (referral).
nslookup example for www.indigoo.com (via root servers):
cmd> nslookup
> set norecursive (Force iterative queries)
> set type=ns (Query for name server addresses)
> . (Query for root servers)
> (root) nameserver = i.root-servers.net
> ...
> (root) nameserver = m.root-servers.net
> server b.root-servers.net (Select B root server for queries)
> com. (Query for com TLD)
> com nameserver = a.gtld-servers.net (192.5.6.30)
> ...
> com nameserver = f.gtld-servers.net (193.0.9.1)
> server 192.5.6.30
> indigoo.com. (Query for domain indigoo.com)
> indigoo.com nameserver = ns131.hoststar.ch
> server ns131.hoststar.ch (85.10.192.4)
> set type=A
> www.indigoo.com. (Query for www.indigoo.com)
> www.indigoo.com Address: 85.10.192.4
© Peter R. Egli 2015
15/17
Rev. 3.60
DNS - Domain Name System indigoo.com
10. DNS Pointer Query
Pointer query = Lookup IP address to name (= inverse lookup).
Problem:
DNS name space is hierarchic and allows quick lookup nameIP.
Because the tree is hierarchic the lookup is like a mathematical one-way function (easy
lookup in one direction, virtually impossible in the other direction).
Solution:
Special name space in-addr.arpa in DNS name space.
Beneath this name space every organization is responsible for a portion of the in-addr.arpa
name space. For example the owner of the IP address range 193.5.54.0/24
is responsible for serving pointer queries to this address.
N.B.: 33.13.252.140.in-addr.arpa. is the FQDN for a host with IP address 140.252.13.33 (note
reversed order of IP address bytes).
Demo nslookup:
>cmd nslookup
>set type=ptr (set query type to pointer)
>193.5.54.112
>112.54.4.193.in-addr.arpa (reversed IP address!)
© Peter R. Egli 2015
16/17
Rev. 3.60
DNS - Domain Name System indigoo.com
11. Dynamic DNS dynDNS RFC2136
Problem:
DNS is pretty static which means it does not allow to quickly change the IP address
to name binding (this takes days to propagate through the network because of caching).
Because of IP address scarcity, providers (ISPs) have fewer public IP addresses than
customers (overbooking: only a portion of customers is online at any time).
This was ok some years ago but people (customers) start to run more elaborate applications
like Internet Telephony.
Solution:
Dynamic DNS enhances DNS with the capability to register a name and IP address with a server.
The lookup to the server is still plain vanilla DNS, but dynDNS makes it possible to re-register
the IP address with the server once it has changed (e.g. DSL access with dynamic
IP addresses, DHCP).
As opposed to standard DNS, DynDNS uses very low TTL values (~2 minutes or so).
There are also proprietary protocols used for dynamic DNS name registration with a server.
Often some REST-style protocol (HTTP-based) is used.
© Peter R. Egli 2015
17/17
Rev. 3.60
DNS - Domain Name System indigoo.com
12. IDN International Domain Names RFC5890
Problem:
Classical DNS allows only domain names with characters from the ASCII repertoire. Special
characters are not possible. Introduction of simple Unicode for DNS names is not possible
because it would break backward compatibility with legacy DNS systems.
Solution:
RFC5890 introduces IDNA (International Domain Names for Applications) by allowing special
characters from the Unicode repertoire to be used for domain names. The Unicode
characters are encoded into an ASCII format to achieve backward compatibility with legacy
DNS systems.
Encoding scheme:
IDNA uses the Punicyode encoding
scheme defined in RFC3492.
Example: www.bücher.ch

Más contenido relacionado

La actualidad más candente (20)

DNS Record
DNS RecordDNS Record
DNS Record
 
Dns presentation
Dns presentationDns presentation
Dns presentation
 
DNS Presentation
DNS PresentationDNS Presentation
DNS Presentation
 
Dns
DnsDns
Dns
 
Domain Name System DNS
Domain Name System DNSDomain Name System DNS
Domain Name System DNS
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
Domain name system (dns)
Domain name system (dns)Domain name system (dns)
Domain name system (dns)
 
Chapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.pptChapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.ppt
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Dns name resolution process
Dns name resolution processDns name resolution process
Dns name resolution process
 
DHCP & DNS
DHCP & DNSDHCP & DNS
DHCP & DNS
 
Dns(Domain name system)
Dns(Domain name system)Dns(Domain name system)
Dns(Domain name system)
 
Dns ppt
Dns pptDns ppt
Dns ppt
 
Presentation on dns
Presentation on dnsPresentation on dns
Presentation on dns
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
DNS ( Domain Name System)
DNS ( Domain Name System)DNS ( Domain Name System)
DNS ( Domain Name System)
 
Dns
DnsDns
Dns
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Dns
DnsDns
Dns
 
Domain name system
Domain name systemDomain name system
Domain name system
 

Destacado

Domain name system presentation
Domain name system presentationDomain name system presentation
Domain name system presentationAnchit Dhingra
 
Ambient back scatter
Ambient back scatterAmbient back scatter
Ambient back scatterChe Tna
 
Osi model vs TCP/IP
Osi model vs TCP/IPOsi model vs TCP/IP
Osi model vs TCP/IPMannu Khani
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocolguest029bcd
 
BASIC CONCEPTS OF COMPUTER NETWORKS
BASIC CONCEPTS OF COMPUTER NETWORKS BASIC CONCEPTS OF COMPUTER NETWORKS
BASIC CONCEPTS OF COMPUTER NETWORKS Kak Yong
 
Introduction to computer network
Introduction to computer networkIntroduction to computer network
Introduction to computer networkAshita Agrawal
 

Destacado (13)

Domain name system presentation
Domain name system presentationDomain name system presentation
Domain name system presentation
 
Dns ppt
Dns pptDns ppt
Dns ppt
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
Remote Login
Remote LoginRemote Login
Remote Login
 
Chap24
Chap24Chap24
Chap24
 
Ambient back scatter
Ambient back scatterAmbient back scatter
Ambient back scatter
 
Osi model vs TCP/IP
Osi model vs TCP/IPOsi model vs TCP/IP
Osi model vs TCP/IP
 
Introduction to DNS
Introduction to DNSIntroduction to DNS
Introduction to DNS
 
Electronic mail
Electronic mailElectronic mail
Electronic mail
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocol
 
Computer network ppt
Computer network pptComputer network ppt
Computer network ppt
 
BASIC CONCEPTS OF COMPUTER NETWORKS
BASIC CONCEPTS OF COMPUTER NETWORKS BASIC CONCEPTS OF COMPUTER NETWORKS
BASIC CONCEPTS OF COMPUTER NETWORKS
 
Introduction to computer network
Introduction to computer networkIntroduction to computer network
Introduction to computer network
 

Similar a DNS - Domain Name System (20)

Domain Name Server
Domain Name ServerDomain Name Server
Domain Name Server
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Linux basics andng hosti
Linux basics andng hostiLinux basics andng hosti
Linux basics andng hosti
 
Dns And Snmp
Dns And SnmpDns And Snmp
Dns And Snmp
 
Dns1111111111
Dns1111111111Dns1111111111
Dns1111111111
 
Dns
DnsDns
Dns
 
Introduction
IntroductionIntroduction
Introduction
 
The Application Layer
The Application LayerThe Application Layer
The Application Layer
 
Dns2
Dns2Dns2
Dns2
 
D.N.S
D.N.SD.N.S
D.N.S
 
DHCP
DHCPDHCP
DHCP
 
Domain naming system
Domain naming systemDomain naming system
Domain naming system
 
Domain Name Service
Domain Name ServiceDomain Name Service
Domain Name Service
 
DNS
DNSDNS
DNS
 
Session_2.ppt
Session_2.pptSession_2.ppt
Session_2.ppt
 
DNS – Domain Name Service
DNS – Domain Name ServiceDNS – Domain Name Service
DNS – Domain Name Service
 
Computer Networks - DNS
Computer Networks - DNSComputer Networks - DNS
Computer Networks - DNS
 
Domainnamesystem
DomainnamesystemDomainnamesystem
Domainnamesystem
 
Domain Name System Explained
Domain Name System Explained Domain Name System Explained
Domain Name System Explained
 

Más de Peter R. Egli

LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosLPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosPeter R. Egli
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking ConceptsPeter R. Egli
 
Communication middleware
Communication middlewareCommunication middleware
Communication middlewarePeter R. Egli
 
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Peter R. Egli
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Peter R. Egli
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET PlatformPeter R. Egli
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud ComputingPeter R. Egli
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingPeter R. Egli
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration TechnologiesPeter R. Egli
 
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyPeter R. Egli
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development KitPeter R. Egli
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Peter R. Egli
 
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingMSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingPeter R. Egli
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBAPeter R. Egli
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Peter R. Egli
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging ServicePeter R. Egli
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Peter R. Egli
 

Más de Peter R. Egli (20)

LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosLPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking Concepts
 
Communication middleware
Communication middlewareCommunication middleware
Communication middleware
 
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET Platform
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud Computing
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration Technologies
 
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technology
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development Kit
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Web services
Web servicesWeb services
Web services
 
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)
 
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingMSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message Queueing
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging Service
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 

Último

Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 

Último (20)

Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 

DNS - Domain Name System

  • 1. © Peter R. Egli 2015 1/17 Rev. 3.60 DNS - Domain Name System indigoo.com Peter R. Egli INDIGOO.COM INTRODUCTION TO DNS, THE INTERNET'S DISTRIBUTED NAMING SYSTEM DNS DOMAIN NAME SYSTEM
  • 2. © Peter R. Egli 2015 2/17 Rev. 3.60 DNS - Domain Name System indigoo.com Contents 1. DNS Purpose 2. DNS Elements 3. DNS Name Space Hierarchy 4. DNS Terms 5. DNS Packet 6. DNS Resource Record 7. DNS Root Servers 8. DNS Operation 9. DNS Iterative and Recursive Query 10. DNS Pointer Query 11. Dynamic DNS 12. International Domain Names
  • 3. © Peter R. Egli 2015 3/17 Rev. 3.60 DNS - Domain Name System indigoo.com 1. Purpose of DNS (RFC1034 / RFC1035) DNS purpose: DNS provides a mapping between symbolic names and IP addresses in a worldwide distributed and hierarchic database. Addressing before DNS was introduced: Prior to the introduction of DNS, symbolic name to IP address mappings were stored in the file hosts on each computer or host. Naturally, this scheme did not scale well because updates to the hosts file were necessary on each host every time a new host joined the network. This file still exists and may contain static mappings, e.g. localhost to 127.0.0.1 and ::1: Windows: C:Windowssystem32driversetchosts Unix / Linux: /etc/hosts DNS key characteristics: • DNS is a distributed system (many servers cooperating, worldwide). • Hierarchy & delegation (if one server does not know the binding, it goes up the hierarchy). • Names are organized in a tree-structure allowing delegation of responsibility.
  • 4. © Peter R. Egli 2015 4/17 Rev. 3.60 DNS - Domain Name System indigoo.com 2. DNS elements Every organisation running DNS must operate 2 DNS servers (redundancy). Like HTTP pages, DNS records can be cached (in the client or in DNS servers). The lifetime of a record is contolled by the DNS TTL (Time-To-Live). Resolver DNS client Application Host Zone Transfer Provider Access / Corporate network Internet DNS Query DNS Response DNS ServerSecondary DNS Server Primary DNS Server DB Cache DB DB DNS Cache DNS Server DNS Query DNS Response Windows: ipconfig /flushdns ipconfig /displaydns The primary server transfers the entire set of DNS records (mapping name to IP) in a zone transfer. Both the primary and secondary (and ternary if available) DNS server deliver authoritative records.
  • 5. © Peter R. Egli 2015 5/17 Rev. 3.60 DNS - Domain Name System indigoo.com Unnamed root node com edu gov int mil net org ae ch zw zhaw www Country domainsGeneric domains TLD Top Level Domains 3. DNS Name Space Hierarchy The name space is organised in a (hierarchic) tree. Responsibility for a subtree can be delegated to another organisation (e.g. from an ISP to a company). google www zhaw www FQDN: „www.zhaw.ch.“ Labels (1 ... 63 chars) per node Zones arpa in-addr xxx xxx xxx xxx 2nd level domains in-addr.arpa name space Generic top-level domains (gTLDs including «new gTLDs») Country code top-level domains (ccTLDs)
  • 6. © Peter R. Egli 2015 6/17 Rev. 3.60 DNS - Domain Name System indigoo.com 4. DNS terms (1/4) Root (name) server: Servers that have in their database IPs of top level servers (gTLD servers). Every server knows at least 2 root servers which in turn know all top level domains. Where are the root servers? http://www.root-servers.org/ DNS client: Performs lookups (resolver). Sometimes the requesting application and not the resolver is called client. But from the server‘s point of view the resolver is the client. DNS server: a. When RR is in local database (authoritative or cached), the server returns requested RR (Resource Record with mapping nameIP). b. When RR is not in local database, the server performs lookup on behalf of client (recursive query). c. When RR is not in local database, the server returns IP address of DNS server higher up in the hierarchy (iterative query). DNS resolver: Process/program that performs name lookup on behalf of application. Access to DNS resolver from applicaton is through OS calls: gethostbyname(), gethostbyaddress().
  • 7. © Peter R. Egli 2015 7/17 Rev. 3.60 DNS - Domain Name System indigoo.com 4. DNS terms (2/4) Primary name server: Authoritative name server for zone. The databases of the primary and secordary name server contain the authoritative RRs (changes to the database are made here). Secondary name server: Serves as (hot standby) server for primary server. The secondary name server is also authoritative. The secondary name server maintains a database with cached name records from the primary server (through zone transfers every 3 hours or so). TLD (Top Level Domain): All nodes in name tree directly underneath the root node are TLDs. The TDLs are: arpa, com, edu, gov, int, mil, net, org, and all country domains. Generic domain: Top-level domains that are not country level domains: arpa, com, edu, gov, int, mil, net, org. Resource record RR: Record that contains mapping nameIP.
  • 8. © Peter R. Egli 2015 8/17 Rev. 3.60 DNS - Domain Name System indigoo.com 4. DNS terms (3/4) Name space: Defines a hierarchic tree of names and labels. Label: „Token“ of DNS name (the pieces between the dots). E.g. in www.zhaw.ch. www, zhaw and ch are labels. Zone: Part of name tree that is separately administered. Zones may contain smaller zones in a hierarchic way. A zone that contains another zone delegates administration and responsibility for the name space of the contained zone (to the contained zone). Each zone must have one primary and at least 1 secondary name server (redundancy). FQDN (Fully Qualified Domain Name): Name that fully specifies a host. Example: www.zhaw.ch. is a FQDN. Note: FQDNs have a dot at the end to indicate that it is an FQDN (the dot represents the root node). Relative domain name: All non-FQDN are relative domain names. Example: e.g. zhaw.ch. Authoritative record: Record that comes from the authority that manages the record (opposite: cached records in non-authoritative servers). DNS servers responsible for a zone return authoritative records (primary, secondary DNS server).
  • 9. © Peter R. Egli 2015 9/17 Rev. 3.60 DNS - Domain Name System indigoo.com 4. DNS terms (4/4) Registrar: In each country an organisation is responsible for name registration. E.g. Switzerland: Switch (www.switch.ch). Germany: Denic. Iterative vs. recursive lookup: Recursive lookup: DNS server performs lookup on behalf of the client (if RR not contained in local database). Iterative lookup: DNS server returns IP address of the next or root DNS server to client (if RR not contained in local database). Pointer query: Reverse lookup IPname. Pointer queries may be used for verification/authentication, e.g. of email senders. Glue record: A (Address) record for name server that has a name within the domain served by the server. Glue records are required to break the query deadlock in referrals which return name servers in the queried domain. Referral: A queried name server returns a name or address of a server that is ‚closer‘ to the answer domain.
  • 10. © Peter R. Egli 2015 10/17 Rev. 3.60 DNS - Domain Name System indigoo.com 5. DNS Packet  DNS uses the same format for query and response.  DNS uses UDP (port 53), but for large transfers (zone transfers) it uses TCP (DNS then uses format of zone file, see http://www.isoc.org/briefings/020/zonefile.shtml). identification („TID“) questions flags number of Qs number of answer RRs number authority RRs number of additional RRs answers (variable number of RRs) authority (variable number of RRs) additional records (variable number of RRs) QR opcode AA TC RD RA (zero) rcode The question for the name server RRs answering the question RRs pointing toward an authority RRs holding additional information QR: query (0) response (1) opcode: 0=standard query, 1=inverse query, 2=server status query AA: 1=authoritative answer TC: 1=truncated; if UDP then size exceeded 512 bytes RD: 1=recursion desired, client can request server to handle request recursively RA: 1=recursion available (set in response if server support recursion) rcode: 0=no error, 3=name error
  • 11. © Peter R. Egli 2015 11/17 Rev. 3.60 DNS - Domain Name System indigoo.com 6. DNS Resource Record A DNS record contains the information queried for (value field) in the question plus additional information on the record (TTL, class, type of record). domain_name: Domain name TTL: Defines how long the RR may be cached before authoritative server should be queried again (usually TTL = 1 or 2 days). class: “IN” für Internet (DNS supports also other classes such SNA, DECbit etc.) type: Kind of record. SOA: Start Of Authority Zone admin info (primary name server name etc.). A: Address Host IP address. NS: Name Server Authoritative name server. CNAME: Canonical NAME Canonical name for an alias. PTR: PoinTer Record Pointer (IPname). HINFO: Host INFO Host info (host / server's type of CPU/OS). MX: Mail eXchange record Name of host of zone that can accept mail. xyz Many other types of lesser use. value: Mapping/binding (IP address for A type).
  • 12. © Peter R. Egli 2015 12/17 Rev. 3.60 DNS - Domain Name System indigoo.com 7. DNS root servers  DNS root servers are the most critical component in the entire DNS. List of root servers: http://www.root-servers.org/. Root servers basically publish the „root zone file“ – a file containing all names and IP addresses of all top- level domains (gTLDs and ccTLDs). See http://www.isoc.org/briefings/020/zonefile.shtml. Root zone file excerpt: … $ORIGIN . LU 172800 IN NS MERAPI.SWITCH.CH. $ORIGIN SWITCH.CH. MERAPI 172800 IN A 130.59.211.10 172800 IN AAAA 2001:620::5 $ORIGIN . LU 172800 IN NS SUNIC.SUNET.SE. … There are 13 logical root servers, named ‚A‘ through ‚M‘, each administered by a different organisation. Some organisations (such as RIPE, K-root-server) chose to run multiple redundant physical root servers (called „mirrors“, DNS server clusters) distributed worldwide. See http://k.root-servers.org/ for RIPE‘s root servers. These mirrored root servers are reachable through IPv4 anycast (same IP address, but depending on the host‘s location the nearest root server is reached by a querying host): Mirrored DNS root servers are reachable through different paths. Normal IP routing ensures that the querying host reaches the „nearest“ mirrored DNS root server (BGP4 distributes routes in the network). Querying host DNS server 20.0.0.1 DNS server 20.0.0.115.0.10.2 15.0.10.1 Route table: Dest. Mask Next-Hop Distance 15.0.0.0 29 127.0.0.1 0 20.0.0.1 32 15.0.10.1 1 20.0.0.1 32 15.0.10.2 2
  • 13. © Peter R. Egli 2015 13/17 Rev. 3.60 DNS - Domain Name System indigoo.com 8. DNS Operation Case A. Server does not know binding (not cached locally): Example: flits.cs.vu.nl looks up linda.cs.yale.edu 1. flits.cs.vu.nl asks local DNS server cs.vu.nl. 2. cs.vu.nl does not have binding, but as per RFC1035 must have IP address of server for ‘edu’ = edu-server.net. cs.vu.nl forwards request to edu-server.net. 3. edu-server.net must know IP address of all of its children, so it forwards the request to yale.edu. 4. yale.edu must know all of its children so it forwards request to cs.yale.edu. 5. cs.yale.edu is authoritative server for all children underneath cs.yale.edu so it replies with the corresponding record. 6./7./8. The reply goes back to the client (through all servers). Case B. Server knows binding (cached) and directly responds to client. .edu
  • 14. © Peter R. Egli 2015 14/17 Rev. 3.60 DNS - Domain Name System indigoo.com 9. DNS recursive versus iterative queries Recursive: The first contacted DNS server performs the lookup on behalf of the client; resolvers (clients) use recursive query. Iterative: The first contacted DNS server refers the client to some other server in the hierarchy; servers use iterative query (referral). nslookup example for www.indigoo.com (via root servers): cmd> nslookup > set norecursive (Force iterative queries) > set type=ns (Query for name server addresses) > . (Query for root servers) > (root) nameserver = i.root-servers.net > ... > (root) nameserver = m.root-servers.net > server b.root-servers.net (Select B root server for queries) > com. (Query for com TLD) > com nameserver = a.gtld-servers.net (192.5.6.30) > ... > com nameserver = f.gtld-servers.net (193.0.9.1) > server 192.5.6.30 > indigoo.com. (Query for domain indigoo.com) > indigoo.com nameserver = ns131.hoststar.ch > server ns131.hoststar.ch (85.10.192.4) > set type=A > www.indigoo.com. (Query for www.indigoo.com) > www.indigoo.com Address: 85.10.192.4
  • 15. © Peter R. Egli 2015 15/17 Rev. 3.60 DNS - Domain Name System indigoo.com 10. DNS Pointer Query Pointer query = Lookup IP address to name (= inverse lookup). Problem: DNS name space is hierarchic and allows quick lookup nameIP. Because the tree is hierarchic the lookup is like a mathematical one-way function (easy lookup in one direction, virtually impossible in the other direction). Solution: Special name space in-addr.arpa in DNS name space. Beneath this name space every organization is responsible for a portion of the in-addr.arpa name space. For example the owner of the IP address range 193.5.54.0/24 is responsible for serving pointer queries to this address. N.B.: 33.13.252.140.in-addr.arpa. is the FQDN for a host with IP address 140.252.13.33 (note reversed order of IP address bytes). Demo nslookup: >cmd nslookup >set type=ptr (set query type to pointer) >193.5.54.112 >112.54.4.193.in-addr.arpa (reversed IP address!)
  • 16. © Peter R. Egli 2015 16/17 Rev. 3.60 DNS - Domain Name System indigoo.com 11. Dynamic DNS dynDNS RFC2136 Problem: DNS is pretty static which means it does not allow to quickly change the IP address to name binding (this takes days to propagate through the network because of caching). Because of IP address scarcity, providers (ISPs) have fewer public IP addresses than customers (overbooking: only a portion of customers is online at any time). This was ok some years ago but people (customers) start to run more elaborate applications like Internet Telephony. Solution: Dynamic DNS enhances DNS with the capability to register a name and IP address with a server. The lookup to the server is still plain vanilla DNS, but dynDNS makes it possible to re-register the IP address with the server once it has changed (e.g. DSL access with dynamic IP addresses, DHCP). As opposed to standard DNS, DynDNS uses very low TTL values (~2 minutes or so). There are also proprietary protocols used for dynamic DNS name registration with a server. Often some REST-style protocol (HTTP-based) is used.
  • 17. © Peter R. Egli 2015 17/17 Rev. 3.60 DNS - Domain Name System indigoo.com 12. IDN International Domain Names RFC5890 Problem: Classical DNS allows only domain names with characters from the ASCII repertoire. Special characters are not possible. Introduction of simple Unicode for DNS names is not possible because it would break backward compatibility with legacy DNS systems. Solution: RFC5890 introduces IDNA (International Domain Names for Applications) by allowing special characters from the Unicode repertoire to be used for domain names. The Unicode characters are encoded into an ASCII format to achieve backward compatibility with legacy DNS systems. Encoding scheme: IDNA uses the Punicyode encoding scheme defined in RFC3492. Example: www.bücher.ch