Title: IP Internet Protocol
1IP (Internet Protocol)
2IP (Internet Protocol)
- Glues Internet together - Common network-layer
protocol spoken by all Internet participating
networks. - Best effort datagram service
- No reliability guarantees.
- No ordering guarantees.
- Transport layer breaks data streams into
datagrams fragments transmitted over Internet,
possibly being fragmented. - When all packet fragments arrive at destination,
reassembled by network layer and delivered to
transport layer at destination host. - IPv4 IP version 4.
- Current, predominant version.
- 32-bit long addresses.
- IPv6 IP version 6 (aka, IPng).
- Evolution of IPv4.
- Longer addresses (16-byte long).
3IP Addresses
- Every host and router on the Internet must have
an IP address. - 2-level hierarchy Network number and Host
number. - Notations
- Binary 10000000 00000110 11110000 00000011
- Dotted decimal 128.6.240.3
- Network numbers assigned by single authority NIC
(network information center). - All hosts in a network must have same network
number.
4IP Address Formats
Class A 1127. Class B 128191. Class C
192223. Class D 224239.
Network
Host
0XXXXXXX
Class A 128 nets. 16M hosts/net. Class B 16K
nets. 64K hosts/net. Class C 2M nets. 256
hosts/net. Class D Multicast.
10XXXXXX
XXXXXXXX
110XXXXX
XXXXXXXX
XXXXXXXX
1110XXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
5IP Datagram and Header
- IP datagram consists of header and data (or
payload). - Header
- 20-byte fixed (mandatory) part.
- Variable length optional part.
32 bits
Header length
Version
Type of service
Total length
Fragment offset
Identification
D
M
U
TTL
Protocol
Header checksum
Source address
Destination address
Options
6Multi-addresses
- A router may have more than one IP address.
- A Multi-homed host is a host with multiple
network interfaces each of which has different IP
address.
236.240.128.0
129.98.0.0
236.240.128.3
129.98.95.1
80.0.0.0
80.0.0.8
7IP Header Fields
- Version which IP version datagram uses.
- Header length how long (in 32-bit words) is
header minimum5 maximum15 (options40 bytes). - Type of service precedence (priority), 3 flags
(delay, throughput, reliability). In practice,
routers ignore type of service. - Total length length of total datagram, i.e.,
header data (max 64Kbytes). - Identification which datagram fragment belongs
to. - U unused bit.
- D dont fragment.
- M more fragments.
- Fragment offset position of fragment in
datagram. - TTL datagram lifetime.
8.IP Header Fields
- Protocol number of the transport protocol that
generated the datagram. - Header checksum verifies header integrity
computed at each hop. - Source and destination address IP addresses of
source and destination. - Options way of extending the protocol.
9Addressing
- Required for packet delivery.
- Each network may use different addressing scheme.
- Addresses must be unique.
- Flat addresses physical addresses (e.g.,
Ethernet address). - Hierarchical addresses use hierarchy scheme like
postal addresses (e.g., IP). - Address Types
- Unicast uniquely distinguishes a single node.
- Multicast shared by a group of nodes.
- Broadcast shared by all nodes.
10Internet Control Protocols
- IP carries data.
- There are other network layer protocols that
carry control information. - Example ICMP, ARP, RARP, BOOTP.
- ICMP
- Internet Control Message Protocol.
- Report specific events.
- Generated by routers.
- Encapsulated in IP packets.
11ICMP Messages
Destination unreachable Packet couldnt be
delivered Time exceeded TTL field
hit 0 Parameter problem Invalid header
field Source quench Choke packets Redirect
Route problem Echo request Check if
destination is up Echo reply Destination
responds Timestamp request Same as echo request
TS Timestamp reply Same as echo reply TS
12Mapping IP to DLL Address
- Internet applications refer to hosts by their IP
addresses once packet gets to destination LAN,
node needs to figure out the destination DLL
address. - One solution is to have a configuration file.
- Hard to maintain/update.
- Address Resolution Protocol (ARP)
- Run by every node to map IP to DLL address
13ARP
- Advantage
- Easy to administer, less human intervention.
- Example 2 hosts on the same Ethernet want to
communicate. - Host 1 must figure out host 2s Ethernet address.
- Host 1 broadcasts ARP packet on Ethernet asking
for the Ethernet address of host 2. - Host 2 receives the ARP request, and replies with
its Ethernet address.
14RARP
- Reverse Address Resolution Protocol.
- Given LAN address, whats the IP address?
- Usually for booting diskless workstation.
- Gets the OS image from remote file server.
- Same image for all machines.
- Machine broadcasts its LAN address.
- Remote RARP server responds with machines IP
address.
15Internet Multicasting
- IP supports multicasting using class D addresses.
- Each class D address identifies a group of hosts.
- 28 bits define over 250 million groups.
- Best-effort delivery.
Guglielmo
16Group Membership
- Hosts (single or multiple processes) may join and
leave group. - Special, multicast routers perform multicast
routing and packet forwarding. - Hosts belonging to multicast groups periodically
send messages to the closest multicast router. - Multicast routers and hosts use IGMP (Internet
Group Management Protocol) to exchange membership
information.
17Domain Name System
18Domain Name System
- When we use the Web or send an e-mail message,
we use a domain name to do it. For example, the
URL http//www.ulster.ac.uk" contains the domain
name ulster.ac.uk. So does the e-mail address
info_at_ulster.ac.uk" - IP assigns 32-bit addresses to hosts (interfaces)
. Binary addresses easy for computers to manage.
All applications use IP addresses through the
TCP/IP protocol software. - IP addresses are difficult for humans to
remember eg. telnet
134.82.11.70 - The Domain Name System (DNS) provides translation
between symbolic names and IP addresses
19Domain Name System Servers
- Domain name servers translate domain names to IP
addresses. That sounds like a simple task, and it
would be - except for four things - There are billions of IP addresses currently in
use, and most machines have a human-readable name
as well. - There are many billions of requests made from
domain name servers every day. A single person
can easily make a hundred or more DNS requests a
day, and there are hundreds of millions of people
and machines using the Internet every day. - Domain names and IP addresses change daily and
new domain names get created daily. - Millions of people do the work to change and add
domain names and IP addresses every day. - The DNS system is a database, and no other
database on the planet gets this many requests.
No other database on the planet has millions of
people changing it every day, either. That is
what makes the DNS system so unique.
20Structure of DNS names
- Each name consists of a sequence of
alphanumeric components separated by periods - Examples
- www.eg.bucknell.edu
- www.netbook.cs.purdue.edu
- charcoal.eg.bucknell.edu
www.ulster.ac.uk - Names are hierarchical, with most-significant
component on the right and the left-most
component is computer name
21DNS naming structure
- Top level domains (right-most components also
known as TLDs) defined by global authority - Com Commercial organization
- Edu Educational institution
- Gov Government organization
- Mil Military organization
- Organizations apply for names in a top-level
domain such as mcdonalds.com. - Organizations also determine their own internal
structure
22IP Addresses
Each machine on the net is assigned a unique
address called an IP Address. IP stands for
Internet protocol, and these addresses are 32-bit
numbers normally expressed as four "octets" in a
"dotted decimal number." A typical IP address
looks like this 216.27.61.137 called octets
because they can have values between 0 and 255
(28 possibilities per octet). Every machine on
the Internet has a unique IP address. A server
has a static IP address that does not change very
often. A home machine generally has an IP
address that is assigned by the ISP when you dial
in. That IP address is unique for your session
and may be different the next time you dial in.
In this way, an ISP only needs one IP address
for each router it supports, rather than for
every customer.
23Geographic structure
Top-level domains are US-centric. Geographic
TLDs used for organizations in other countries
TLD Country .uk United Kingdom .fr France
.ch Switzerland .in India Countries define
their own internal hierarchy ac.uk and .edu.au
are used for academic organizations in the United
Kingdom and Australia
24Finding your IP address
If you are working on a Windows machine, you can
view your current IP address with the command
ipconfig. On a UNIX machine, type nslookup
along with a machine name (such as "nslookup
www.microsoft.com") to display the IP address of
the machine (use the command hostname to learn
the name of your machine). As far as the
Internet's machines are concerned, an IP address
is all that you need to talk to a server. For
example, in your browser you can type the URL
http//193.61.190.157 and you will arrive at my
machine. Domain names are strictly a human
convenience.
25Domain names within organisation
Organizations can create any internal DNS
hierarchy Uniqueness of TLD and organization
name guarantee uniqueness of any internal name
(much like file names in your directories) All
but the left-most component of a domain name is
called the domain for that name
Name Domain www.netbook.cs.purdue.edu
netbook.cs.purdue.edu info.ulster.ac.uk
ulster.ac.uk coral.bucknell.edu bucknell.ed
u Authority for creating new subdomains is
delegated to each domain. Administrator of
ulster.ac.uk has authority to create
info.ulster.ac.uk and need not contact any
central naming authority
26Example DNS hierarchy
27DNS names and physical location
- DNS domains are logical concepts and need not
correspond to physical location of organizations - DNS domain for an organization can span multiple
networks - ulster.ac.uk covers all networks at
ulster - laptop.ulster.ac.uk could be a network
in Coleraine
28Distributing Domain Names
- Because all of the names in a given domain need
to be unique, there has to be a single entity
that controls the list and makes sure no
duplicates arise. - For example, the COM domain cannot contain any
duplicate names, and a company called Network
Solutions is in charge of maintaining this list.
When you register a domain name, it goes through
one of several dozen registrars who work with
Network Solutions to add names to the list. - Network Solutions, in turn, keeps a central
database known as the whois database that
contains information about the owner and name
servers for each domain. If you go to the whois
form, you can find information about any domain
currently in existence.
29Keeping Track
Important to have a central authority keeping
track of the database of names in the top-level
domain, you would not want to centralize the
database of all of the information in the COM
domain. For example, IBM has hundreds of
thousands of IP addresses and host names
therefore IBM maintains its own name server for
the IBM.COM domain. Similarly, the UK probably
administrates the uk top-level domain, and
Australia probably wants to administrate the au
domain, and so on. For this reason, the DNS
system is a distributed database. e.g.
Microsoft is completely responsible for dealing
with the name server for microsoft.com --it
maintains the machines that implement its part of
the DNS system, and Microsoft can change the
database for its domain whenever it wants to
because Microsoft owns its domain name servers.
Every domain has a domain name server somewhere
that handles its requests, and there is a person
maintaining the records in that DNS.
30DNS and client-server computing
- DNS names are managed by a hierarchy of DNS
servers - Hierarchy is related to DNS domain hierarchy
- Root server at top of tree knows about next level
servers - Next level servers, in turn, know about lower
level servers
31DNS server hierarchy
32Choosing DNS server architecture
- Small organizations can use a single server
- Easy to administer
- Inexpensive
- Large organizations often use multiple servers
- Reliability through redundancy
- Improved response time through
load-sharing - Delegation of naming authority
- Locality of reference applies - users will most
often look up names of computers within same
organization
33DNS Caching
- DNS resolution can be very inefficient
- Every host referenced by name triggers a DNS
request - Every DNS request for the address of a host in
a different organization goes through the root
server - Servers and hosts use caching to reduce the
number of DNS requests - Cache is a list of recently resolved names and
IP addresses - Authoritative server include time-to-live with
each reply
34Name Servers
- Name servers do the following
- They accept requests from programs to convert
domain names into IP addresses. - They accept requests from other name servers to
convert domain names into IP addresses. - When request comes in, name server can do one of
4 things with it - It can answer the request with an IP address
because it already knows the IP address for the
domain. - It can contact another name server try to find
the IP address for the name requested. It may
have to do this many times. - It can say, "I don't know the IP address for the
domain you requested, but here's the IP address
for a name server that knows more than I do." - It can return an error message because the
requested domain name is invalid or does not
exist.
35Name Server
The browser therefore contacts its name server
and says, "I need for you to convert a domain
name to an IP address for me." For example, if
you type "www. ulster.ac.uk. " into your browser,
the browser needs to convert that URL into an IP
address. The browser will hand "www.
ulster.ac.uk. " to its default name server and
ask it to convert it. The name server may
already know the IP address for www.ulster.ac.uk.
That would be the case if another request to
resolve www.ulster.ac.uk came in recently (name
servers cache IP addresses to speed things up).
In that case, the name server can return the IP
address immediately. Let's assume, however, that
the name server has to start from scratch.
36Root Name Servers
- A name server would start its search for an IP
address by contacting one of the root name
servers. The root servers know the IP address for
all of the name servers that handle the top-level
domains. Your name server would ask the root for
www.howstuffworks.com, and the root would say
(assuming no caching), "I don't know the IP
address for www.howstuffworks.com, but here's the
IP address for the COM name server." Obviously,
these root servers are vital to this whole
process, so - There are many of them scattered all over the
planet. - Every name server has a list of all of the known
root servers. It contacts the first root server
in the list, and if that doesn't work it contacts
the next one in the list, and so on.
37IP Addresses again
The root server knows the IP addresses of the
name servers handling the several hundred
top-level domains. It returns to your name server
the IP address for a name server for the COM
domain. Your name server then sends a query to
the COM name server asking it if it knows the IP
address for www.ulster.ac.uk. The name server for
the COM domain knows the IP addresses for the
name servers handling the ulster.ac.uk domain, so
it returns those. Your name server then contacts
the name server for ulster.ac.uk and asks if it
knows the IP address for www. ulster.ac.uk . It
does, so it returns the IP address to your name
server, which returns it to the browser, which
can then contact the server for www. ulster.ac.uk
to get a Web page
38Redundancy and Caching
One of the keys to making this work is
redundancy. There are multiple name servers at
every level, so that if one fails there are
others to handle the requests. There are, for
example, three different machines running name
servers for HOWSTUFFWORKS.COM requests. All three
would have to fail for there to be a problem.
The other key is caching. Once a name server
resolves a request, it caches all of the IP
addresses it receives. Once it has made a request
to a root server for any COM domain, it knows the
IP address for a name server handling the COM
domain, so it doesn't have to bug the root
servers again for that information. Name servers
can do this for every request, and this caching
helps to keep things from bogging down.
39TTL
Name servers do not cache forever, however. The
caching has a component called the Time To Live
(TTL) that controls how long a server will cache
a piece of information. When the server receives
an IP address, it receives the TTL with it. The
name server will cache the IP address for that
period of time (ranging from minutes to days) and
then discard it. The TTL allows changes in name
servers to propagate. Not all name servers
respect the TTL they receive, however. When you
move your machines over to new servers, it can
take weeks for the transition to propagate
throughout the Web.
40Summary
1. Domain Name System maps from computer names
and IP addresses 2. Important to hide 32-bit IP
addresses from humans 3. DNS names are
hierarchical and allocated locally 4.
Replication and caching are important performance
enhancements