Overview
- Homework
- Internet
- Architecture
- Domain Names
- IP Addresses
Homework
- Due Monday, Oct 26
- 5-1
- 5-7
- read "man nslookup" and use nslookup to get the IP addresses for:
- uhics.ics.hawaii.edu
- prep.ai.mit.edu
- the DNS server your "nslookup" is using.
turn in the 3 IP addresses, and state for each what class the IP address
belongs to.
Internet Architecture: Protocols
- FTP, Telnet, HTTP, SMTP, NFS, ...
- TCP, UDP
- IP
- Link layer
(see also picture)
Internet Architecture: Networks
- Collection of Autonomous Systems (ASs)
- Each AS is a collection of networks
- Routing:
- To destination AS
- To destination network
- To destination host
Internet Domain Names
- example, uhics.ics.hawaii.edu
- strictly hierarchical naming system:
- top level has .edu, .com, .gov, .mil, .org, .int, .net, and all countries
- each level has its own subdivisions, e.g. .edu has hawaii.edu, cmu.edu,
unc.edu, whereas .gov has whitehouse.gov, senate.gov, hawaii.gov
- each domain name belongs to an organization, e.g. hawaii.edu belongs
to the University of Hawaii, ics.hawaii.edu belongs to the ICS department
Domain Name Service (DNS)
- convert domain names (human readable) to IP addresses
(uniquely identifying host)
- DNS is an implementation of a hierarchical, replicated,
distributed database
- database is read-only for DNS
- at least two servers for each domain
- each host knows how to reach "its" DNS server(s)
- each DNS server is either at the root of the tree, or knows how
to reach a DNS server higher up the tree
- each DNS server also knows what DNS servers are directly below
it in the tree
DNS resolution
- looking for translation of www.inria.fr:
- I check my cache
- I ask my DNS server for the translation
- my DNS server either:
- asks its server for the translation, or
- gives me the name of its server
- eventually, the request reaches one of the root servers for .fr
- the root server for .fr transfers the request to inria.fr
- inria.fr provides the reply, either directly to me or through the
servers
DNS questions
- distributed?
- central point of failure?
- stateless?
IP Addresses
- 32 bits, eg 128.171.44.7
- each packet must be self-routing based only on the address
- impossible for routers to route to 2^{32} individual hosts
(especially in 1969)
- also impossible to exchange information about 2^{32} individual hosts
- so, give the IP address structure:
- a network part
- a host part
- from outside, only route to networks
- within a network, route to host
- two-level hierarchy
IP Host Routing
- each host is configured with the IP address of a default router,
which must be on the same network
- to send packet to a destination host,
- compare destination address with your destination address:
- if network part is the same, use network-specific mechanism
(e.g. for ethernet, use ARP) to send packet directly to host
- otherwise, use network-specific mechanism to send packet to router
- so, IP host routing is always reduced to
sending to a host on the "directly attached" network
- simple, universal algorithm
Network and Host parts
- Class-based addressing
- Subnetting
- Classless addressing (Classless Inter-Domain Routing, CIDR)
Class-based addressing
- Class A addresses start with a 0 bit, followed by 7 bits of
network ID and 24 bits of host ID
- Class B addresses start with 10, followed by 14 bits of
network ID and 16 bits of host ID
- Class C addresses start with 110, followed by 21 bits of
network ID and 8 bits of host ID
- Problems:
- Class B is too large (uses too many bits)
- Class C is too small for a lot of organizations (e.g. ISP, company)
- don't ever want to renumber, so sign up for largest possible block
- soon (1994?) "ran out" of class B addresses
Subnetting
- split big network into smaller networks
- use a network mask to identify the network part of the address
- e.g. 255.255.255.192 identifies a subnetwork with 64 host addresses
- from outside network, send to network (identified by class)
- within network, use network mask to find subnetwork/host parts
CIDR
- use network masks to route also from outside of network
- no longer need classes
- a single large network can include smaller networks which
can include smaller networks (flexible hierarchy)