Internet Address and Domain Name Service (DNS)
1 / 28

Internet Address and Domain Name Service (DNS) CS587x Lecture Department of Computer Science Iowa State University - PowerPoint PPT Presentation

Internet Address and Domain Name Service (DNS) CS587x Lecture Department of Computer Science Iowa State University What to cover today Internet Address IPv4 CIDR Domain Name Service Name Resolution Load Balancing Internet Addressing IPv4 Each address is represented by 4 bytes

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentationdownload

Internet Address and Domain Name Service (DNS) CS587x Lecture Department of Computer Science Iowa State University

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Slide1 l.jpg

Internet Address and Domain Name Service (DNS)

CS587x Lecture

Department of Computer Science

Iowa State University

What to cover today l.jpg

What to cover today

  • Internet Address

    • IPv4

    • CIDR

  • Domain Name Service

    • Name Resolution

    • Load Balancing

Internet addressing l.jpg

Internet Addressing

  • IPv4

    • Each address is represented by 4 bytes

    • Four numbers, 0-255, separated by dots

  • Classified IP address (developed in 1970s)

    • Class+Network ID+Host ID

#nets #hosts







  • To minimize routing table entries

    • Given an IP packet, a router examines its first one to four bits to determine its class and then breaks it down into network and host bits. The network bits are used to find a route to the network. Once a packet reached its target network, its host field was examined for final delivery.

Special ip addresses l.jpg

Special IP Addresses

  • Some special addresses

    • – loopback/localhost

    • – broadcast

  • Reserved addresses

    • Can be used locally (behind Network Address Translator, for example)




    • Not routed through the Internet

Space limitation of ip address l.jpg

Space limitation of IP Address

  • 32 bits

    • IPv6 calls for 128-bit address, but requires significant changes throughout much of the Internet

  • Classified

    • not flexible and efficient in address allocation

      • While the Internet was running out of unassigned addresses, only 3% of the assigned addresses were actually being used

Challenges l.jpg


  • Represent more networks

    • Need more network IDs, given the same 32-bits address space

  • Global routing tables at capacity

    • As the number of networks on the Internet increased, so did the number of routes

      • A few years back, it was forecasted that the global backbone Internet routers were fast approaching their limit on the number of routes they could support.

    • Even using the latest router technology, the maximum theoretical routing table size is approximately 60,000 routing table entries

      • If nothing was done, the global routing tables would have reached capacity by mid-1994 and all Internet growth would be halted

Solutions l.jpg


  • Assign IP to machines dynamically

    • For an ISP, at any given time, only a small percentage of its customers are connected to the network

    • Not effective for DSL/cable connections, where clients are always on

  • Computers not visible to the Internet can share the same block of IP address

    • Use those special address blocks

  • Classless Inter-Domain Routing (CIDR)

    • Restructuring IP address assignments to increase efficiency

    • Hierarchical routing aggregation to minimize route table entries

Slide8 l.jpg


  • A CIDR address includes the standard 32-bit IP address and also information on how many bits are used for the network prefix, e.g.,

    •, the "/25" indicates the first 25 bits are used to identify the unique network leaving the remaining bits to identify the specific host

    • (ISU), (ISU Research Park), (USWest)

  • CIDR allows the division between the network and host portions of the IP addresses to occur at any point in the 32-bit number

    • Mask length currently is anywhere from 13 to 27 bits

  • Compatibility with Existing Addresses

    • Class A address, a#.b#.c#.d#  a#.b#.c#.d#/8

    • Class B address, a#.b#.c#.d#  a#.b#.c#.d#/16

    • Class C address, a#.b#.c#.d#  a#.b#.c#.d#/24

Advantages of cidr l.jpg

Advantages of CIDR

  • More network IDs -- Flexible allocation of IP address blocks allows more efficient use of 32-bit address space

    • The size of a block of IP addresses could be any power of 2

    • An organization needing 512 addresses could be assigned with a 23-bit mask, rather than an entire class B network (65536 addresses)

  • Minimizing routing table entries -- ISPs can now aggregate their networks into larger blocks

    • Suppose an ISP is assigned the network, the ISP can further divide this block of addresses into smaller blocks and allocate them to its customers

      • E.g., one customer can have and another might have network

      • The allocation of address blocks may depend on the size of the customer

    • Global routers need to remember only the routes to

Example of address aggregation l.jpg







Example of Address Aggregation







Packet with



  • Given a packet, check the routing table to determine which network it belongs to

    • This can be done by bit mask

Example of address aggregation11 l.jpg






Example of Address Aggregation







Packet with




  • Which entry to use?

    • The entry with longest mask length

  • Which entry to drop?

    • A subnet entry with longest mask length (a block <= 8192 most likely be dropped)

    • The original ISP is still responsible for resolving all addresses in its block

Routing with cidr l.jpg

Routing with CIDR

  • Internet routers normally do not remember each individual IP

    • Internet routers need only to know how to reach ISPs

    • Given an IP packet, routers determine the block it belongs to and send the packet to the ISP who are responsible for this block

    • The ISP needs to know how to reach each of its own separate networks

  • CIDR significantly reduces the growth in the number of routing table entries at each level in the network hierarchy

    • Currently, the global routing tables have approximately 35,000 entries

Domain name service l.jpg

Domain Name Service

  • Routers need an address to route while people need a host name to remember

    • Host Names yield information to people

    • IP addresses yield information to routers

  • Solution: give each IP address a name

    • 

    •  111.222.333.444

  • Questions:

    • Given an IP, how to find out its hostname?

    • Given a hostname, how to find out its IP?

Dns history l.jpg

DNS: History

  • 1970’s ARPANET

    • All host-address mappings were in hosts.txt (in /etc/hosts)

    • Changes were submitted to SRI-NIC by email

    • New versions of hosts.txt were updated periodically from SRI

    • Administrators could pick names at their discretion

  • As the internet grew this system broke down because of

    • Traffic and load: SRI couldn’t handled the load

    • Reliability: The system was unreliable since there was a single point of contact

    • Consistency and confliction: Names were not unique and many hosts had inaccurate copies of hosts.txt

  • Internet growth was threatened

    • DNS was created in 1983 (RFCs 1034 and 1035), modified, updated, and enhanced by subsequent RFCs

Dns concepts l.jpg

DNS Concepts

  • Provide a lookup mechanism for object translation (IP address  hostname)

  • DNS consists of three components

    • Namespace

    • Domain Name Servers

    • DNS queries (issued by clients)

      • gethostbyname()

      • gethostbyaddr()

Dns namespace l.jpg

DNS Namespace

  • The namespace must be able to scale

  • Solution: make namespace hierarchical by naming objects based on

    • location (within country, set of organizations, set of companies, etc)

    • unit within that location (company within set of company, etc)

    • object within unit (name of person in company)

Hierarchical organization of host names l.jpg

Hierarchical Organization of Host names


  • The first level names are called “Top Level Domains”

  • Depth of tree is arbitrary (limit 128)

  • No restriction on the amount of branch

  • Domains are subtrees

    • e.g. and

  • Name collision avoided

    • e.g. and














Hierarchical administration of host names l.jpg

Hierarchical Administration of Host Names



Each zone corresponds to an administrative authority that is responsible for that portion of the hierarchy

  • Zones are “administrative spaces”

  • Zone administrators are responsible for portion of a domain’s name space

  • Authority is delegated from a parent and to a child




















Domain name servers l.jpg

Domain Name Servers

  • Name servers, who answer “DNS” questions, are organized in hierarchies

  • Each server has authority over a portion of the hierarchy

    • A server maintains only a subset of all names

  • Each server contains all the records for the hosts in its zone

  • Each server may know other servers who are responsible for the other portions of the hierarchy

    • Every server knows the root

    • Root server knows about all top-level domains

Dns protocol l.jpg

DNS Protocol

  • Govern the communication between a DNS client and a DNS server

    • A DNS client sends a query to a DNS server, which returns a response with the requested information

    • DNS primarily uses UDP for sending queries and responses, although TCP may also be used

  • DNS queries can be

    • Recursive : such queries request the receiving DNS server resolve the entire request itself

    • Iterative : such queries request the receiving DNS server respond directly to the DNS client with the IP address of the next DNS server in the hierarchy

      • Root server handles only iterative queries

Example of recursive query l.jpg wants IP address of

1. Contacts its local DNS server,

2. contacts root name server, if necessary

3. Root name server contacts authoritative name server,, if necessary

local name server

Example of Recursive Query

root name server





authorititive name server



requesting host

Example of iterated queries l.jpg

Contacted server replies with name of server to contact

“I don’t know this name, but you can ask this server”

local name server

intermediate name server

(com server)

Example of Iterated Queries

root name server


iterated queries








authoritative name server

requesting host

Dns query is expensive l.jpg

DNS query is expensive

  • Resolving an IP hostname may invoke several messages

  • Solution: caching previous query results

    • The cached mapping can be used

    • The cached results can be associated with TTL to reduce the risk of using expired information

Dns based web server load balancing l.jpg

DNS-based Web Server Load Balancing

  • A popular web site can be replicated in different geographical locations in order to provide better service to a diverse set of clients

    • One web site can be associated with more than one IP addresses

      • For example, all hosts in the may have the same IP address

      • The return of an IP address may depend on where a query is sent from

Load balancing 1 l.jpg

Load Balancing (1)

  • DNS can return an IP address based on where queries come from

    • Direct HTTP requests to a collection of web servers that provide access to the same content

Example www akamai com l.jpg


  • From Ames


    Pinging [] with 32 bytes of data:

    Request timed out.

    Request timed out.

    Request timed out.

    Request timed out.

    Ping statistics for

    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

  • From the NY area


  • From the UK


Load balancing 2 l.jpg

Load Balancing (2)

  • A query to a host name may return several IP address

    • e.g., may correspond to four machines with IP addresses,,,

  • By default, the requesting client uses the first IP address

    • Heavy load on the server

  • DNS can vary the order of the IP addresses for each query

    • The response to the second query could be,, 1.2.3,4,

Dns summary l.jpg

DNS Summary

  • Internet address and CIDR

  • DNS is a crucial part of the Internet

  • Namespace is hierarchical

  • Globally distributed and locally managed

  • DNS performance is enhanced by caching

  • DNS can help balance web server workload

  • Login