2. Addressing
Addressing is necessary for any
communication
– To talk: Appearance, name, …
– To call: Telephone numbers
– To mail: Postal address
– To visit: Postal address + directions
– To E-Mail: E-Mail addresses
– To instant message: ICQ#, AIM ID, etc.
These ‘addresses’ allow us to uniquely
identify the entity with which we wish to
communicate
3. Addressing a la Shoch
Name/Identifier: What
– Names normally identify the entity
– If an entity moves, the name/identity will remain
the same
Address: Where
– Addresses identify the location of the entity
– If an entity moves, the address will change
Route: How to get there
– Routes identify the path to get to an entity
– If an entity moves, the route will change
4. Addressing
Addressing deals with how to define an
entity’s location (uniquely)
Addressing is necessary for message
delivery
– An address is the start and end point for
the route
• However, routing is another subject
– Where do we want the message to go?
5. Addresses
We have already seen MAC addresses (for
Ethernet and some other LANs):
– e.g. 02-60-8C-08-E1-0C
– 6 octet address
– Globally unique
– Defined statically by the hardware manufacturer
Most people are familiar with the IP
addresses used by TCP/IP networks:
– e.g. 137.207.32.2
– 4 octet address
– Not necessarily globally unique
– Defined dynamically by DHCP servers or
negotiated by the operating system
7. IP Addresses
TCP/IP networks use IP for the network layer
protocol
IP defines 4 octet addresses
– 4 billion possible addresses
Usually written in the form A.B.C.D
– A, B, C, and D are each 1 octet (0-255), normally
written in decimal notation
– Thus, IP addresses fall in the range:
0.0.0.0 – 255.255.255.255
8. IP Addresses
Originally intended for separate
internets (interconnected LANs)
– Thus, the 32 bit size was not a concern
– 48 bits is generally considered a fairly safe
size for globally unique addressing
– Computers connected to ARPANET (and
later incarnations) were just given
consecutive addresses
1.0.0.0, 1.0.0.1, 1.0.0.2, …
9. IP Addresses
Any computer connected to a TCP/IP
network (e.g. the Internet) must have an
IP address
Further, any network interface card
(NIC) using TCP/IP to access an
network (e.g. the Internet) must have a
different IP address
10. IP Addresses
Even though there are 4 billion possible
IP addresses, they are running out
Here’s why:
– Some of the bits are dedicated to header
information (discussed later)
• ½ the addresses for each lost bit
– Addresses are categorized, and some of
the categories are running out of
addresses (while others are not)
11. Non-Classed Addresses
Part of the address represented the network
the computer resided on, and part
represented the computer itself
– Network: 7 bits (up to 128 networks)
– Computer: 24 bits (up to 1.6 million computers on
each network)
Since there were very few networks on
ARPANET originally, this wasn’t a problem
12. Address Classes
When private organizations started
joining the Internet, the needs became
obvious
– Some (fewer) networks have multitudes of
computers (thousands)
• e.g. The @Home network
– Some (many) networks have very few
computers (a few hundred or less)
• e.g. The Windsor Police Department
13. Address Classes
Quickly, the addresses were separated
into 3 classes (plus room for more
classes if needed):
– Class A: Fewer networks, many nodes
– Class B: Medium networks, medium nodes
– Class C: Many networks, fewer nodes
14. IP Address Classes
Class A:
bit index: 0 1-7 8-31
0 network host (machine)
Class B:
bit index: 0 1 2-15 16-31
1 0 network host
Class C:
bit index: 0 1 2 3-23 24-31
1 1 0 network host
15. IP Address Classes
Class A:
– Range: 1.0.0.0 – 126.0.0.0
– Networks: 128 max, Machines: 65537-1.6 million
– e.g. huge networks, such as large
military/government organizations (e.g. FBI), the
@Home network, etc…
Class B:
– Range: 128.1.0.0 – 191.255.0.0
– Networks: 16384 max, Machines: 257-65536
– e.g. Internet service providers (ISPs) (dial-up)
Class C:
– Range: 192.1.0.0 – 223.255.255.0
– Networks: 2 million max, Machines: 1-256
– e.g. Small businesses
16. IP Address Classes
The IP address classes are self-identifying
– Which means that given the address, you can
determine what class an address is
• Actually, using only the first number
– Examples:
• 137.207.32.2 (server.uwindsor.ca)
– 137 -> Class B
• 24.0.0.1 (@Home DHCP server)
– 24 -> Class A
17. Other IP Address Classes
Class D:
bit index: 0 1 2 3 4-31
1 1 1 0 Multicast group address
•These addresses are used to represent multicast groups
•Discussed later
Class E:
bit index: 0 1 2 3 4 5-31
1 1 1 1 0 Reserved for future use
•These addresses were left open to be used and divided
into classes as needed
18. Special IP Addresses
0.0.0.0: Used to indicate that this machine is
without an assigned IP
– Used during bootstrapping (e.g. requesting an IP
from a DHCP server)
<all 0s (binary)><hostID>: Used to send
messages to some machine on this network
255.255.255.255: Used to send broadcast
messages across this machine’s network
<netID><all 1s (binary)>: Used to send
broadcast messages to the specified network
127.0.0.1: Used to send messages back to
this machine (called loopback or localhost)
19. IP Addressing Comments
In IP addressing:
– 0’s usually represent ‘this’
– 1’s usually represent ‘all’
Broadcasting, although discussed here
in terms of addressing, will be
discussed further
20. Loopback
The 127.0.0.1 address, does not normally
exist on the network
– Either as the source address or destination
address of a packet
The address is used internally by NICs
– When a NIC receives a message addressed with
127.0.0.1 to be transmitted, it passes the message
directly to the receiver hardware
– The receiver hardware returns the message to the
operating system exactly as if the message were
received from the network
• However, the message never entered the network
medium
21. Internal IP Addresses
Depending on the address class needed by
an organization, a range of internal
addresses is available:
– Class A: 10.0.0.0 – 10.255.255.255
– Class B: 172.16.0.0 – 172.31.255.255
– Class C: 192.168.0.0 – 192.168.255.255
IP routers outside a private (connection-
shared) network, will not forward datagrams
designated for addresses in these ranges
22. Multi-homed Machines
There is no restriction preventing
machines from participating in multiple
networks
– A machine could have multiple NICs
– Each NIC would have its own MAC
address
– On TCP/IP networks, each of these NICs
would be given a different IP address
23. Routers
Routers are multi-homed machines
– They have a number of network ports, each of
which represents a different path
Routers use tables that relate destinations to
network paths
– Internet routers relate destination network
addresses with one of their network ports
– When a datagram arrives at a router:
• Its destination address is used to determine the network
address
• The network address is used to look up the destination
port in the routing table
24. Network Addresses
An IP address can be used to calculate the
address of the network
The machine address is passed through a
filter (called a subnet filter):
– This filter extracts the bits of the address that
represent the network and sets the bits that
represent the machine to zero
– The filter determines which part of the address
represent the network address, by using the
subnet mask
25. Subnet Mask
The subnet mask is a binary number, that has
0s in the machine portion of the address, and
1s in the network portion
Most networks of each type use a constant
subnet mask
– Class A: 255.0.0.0
(Binary: 11111111000000000000000000000000)
– Class B: 255.255.0.0
(Binary: 11111111111111110000000000000000)
– Class C: 255.255.255.0
(Binary: 11111111111111111111111100000000)
28. IPv6
Due to the limited nature of existing IP
addressing (IPv4), a new version of IP
addressing was developed
This new scheme uses 16 octets for
addresses, instead of 4 octets
Written using hex notation:
3A57:0000:0000:9CD5:3412:912D:6738:1928
29. IPv6 Features
16 octet addresses (128 bits)
Larger numbers of address classes
– More accurate control of network/machine counts
Variable-sized headers
– Optional information can be placed into the header
when needed
– Reduces header size in most cases
Extendible protocol
– IPv6 allows for new header information to be
added to support different protocols
30. IPv6 Features
Automatically reconfigurable
– Addresses can be automatically reassigned
dynamically
– e.g. when a certain number of nodes join the
network, a different address class may be desired
Autoconfigurable
– The use of autoconfiguration (such as DHCP)
allows dynamic private addressing and dynamic
public addressing
32. IPv6 Header Format
0 4 12 31
version traffic class flow label
32 48 56 63
payload length next header hop limit
64 96 128
source address destination address
33. IPv6 Integration
Will IPv6 replace IP addresses?
– Who knows?
Currently, temporary solutions have made
IPv4 addresses capable of lasting longer than
originally predicted
If and when IPv6 is to be integrated, the
process must be a transition
– Closing the entire Internet down to convert
hardware and software to IPv6 not going to
happen
– Some stations may take longer to transition than
other stations
• e.g. Bob’s Internet Shack vs. the Telus Network
34. IPv6 Integration
NAT (network address translators) provide one
example of such a temporary solution
NATs provide three benefits:
1. NATs provide IP masquerading
• Messages using these addresses pass through a network
address translator (NAT) to be transformed into external IPs
2. NATs provide IP sharing
• ISPs for example, have many customers, but significantly
less at any given time are logged onto their system
– IP addresses can be assigned dynamically to these customers
when they log in
3. NATs provide schemes to allow networks to use either
IPv4 or IPv6
– Addresses would be converted as they pass through a NAT
35. IPv6 Integration
Another method that may be used for the
transition between IPv4 and IPv6 is address
inclusion:
– IPv4 addresses could be embedded into IPv6
addresses
• Translation between the two types of addresses is
possible without any other information
– Some problems exist with this approach, but in
general it simplifies communication between
IPv6 networks and IPv4
36. Special IPv6 Addresses
0:0:0:0:0:0:0:0 Used to indicate that this
machine is without an assigned IP
– Used during bootstrapping (e.g. requesting an IP
from a DHCP server)
0:0:0:0:0:0:0:1 Used to send messages back
to this machine (called loopback)
– These two addresses are not valid on the actual
network medium (same as with IPv4)
00:… Reserved (including IPv4 and IPX
address inclusion)
FF:… Multicast addresses