Transcript Lecture 8

CS 164 -- Internetworking
Slide Set 8
In this set...
• Addressing
• Datagram forwarding
Requirements for
Addressing
• Uniqueness -- each host needs to have a
unique address.
• A global addressing scheme/policy is needed.
• Why can we not use underlying
Ethernet/MAC layer addresses ?
– Unique but there is a “flat” structure -- no
hierarchy.
– Provides no clues as to how data is to be routed.
IP addressing
• IP addressing is hierarchical.
Network
Part
IP Address
Host part
Note: Hosts on the same
physical network can
communicate using frames
Uniquely identifies
network to which
host is attached
Identifies host
uniquely given the
network
Addresses and Interfaces
• Each host that is attached to the same
network has the same “network” part of
the IP address.
• If routers are attached to multiple
networks then, they need to have an
address for each network.
– Address assigned to the interface on the
network.
• Appropriate to think of IP addresses as
being associated with interfaces.
IP address classes
• Hierarchical structure not same for all
addresses.
• Division into classes, A, B, C, D and E.
– D -- multicast, E -- unused.
• We are mainly concerned with types A, B and
C.
• All IP addresses are 32 bits long.
Classes A, B and C
7
(a)
0
24
Netw ork
Host
14
(b)
1
0
1
1
Netw ork
0
• Class B: 14 Network bits
and 16 host bits.
16
Host
21
(c)
• Class A : 7 Network bits,
24 host bits.
Netw ork
8
• Class C: 21 Network bits
and 8 host bits.
Host
• Of approximately 4 billion IP addresses, 1/2
belong to Class A, 1/4 belong to Class B and 1/8 to
Class C.
Specifically...
• Number of Class A networks = 27 =
128. But on each Class A Network,
one can have 224 -2 hosts.
• For class C, larger number of
networks but each network can have
at most 28 = 256 hosts.
IP Address Notation
• Dotted Decimal (for IPv4) -W.X.Y.Z -- each represents each
of the four bytes.
• Example 171.45.210.4
• Remember -- the source and
destination addresses are in the IP
header.
Forwarding versus Routing
• Forwarding is the process of taking a
packet from the input and sending it on
the appropriate output.
• Routing -- in contrast -- is the process
of building tables that allow the
determination of the correct output.
Datagram forwarding
A node that gets a datagram first tries to establish whether
the destination is on the same physical network.
•
•
•
•
Compare network part of the destination address with the
network part of its own interfaces.
If they are the same, destination is on the same physical
network.
If yes, deliver packet.
If no, choose the appropriate router to forward packet.
–
–
–
Next Hop --> router
Consult what is called the forwarding table that contains
entries that look like < Network Number, Next Hop>.
Also a default router (possible only default exists).
Our example network
Netw ork 1 (Ethernet)
H1
H2
H7
H3
R3
Netw ork 4
(point-to-point)
Netw ork 2 (Ethernet)
H8
• H1 --> H2, same
network number in IP
address -- deliver via
Ethernet.
• H1 --> H8. How ?
R1
R2
H4
• H1 --> R1 default router over Ethernet.
Netw ork 3 (FDDI)
• R1 knows it cannot deliver directly.
H5
H6
• R1 has to deliver it to a default router - R2.
Example Continued
Netw ork 1 (Ethernet)
H1
H2
H7
H3
R3
Netw ork 4
(point-to-point)
Netw ork 2 (Ethernet)
R1
R2
H4
H8
• Let us look at R2’s
forwarding table.
Network
Number
Next Hop
2
R1
1
R3
Netw ork 3 (FDDI)
H5
H6
• Thus, R2 --> R3 via PPP and
then, finally, R3 --> H8 via
Ethernet.
Directly Connected Nets
•
It is possible to include information with regard to the directly
connected networks in forwarding table.
Netw ork 1 (Ethernet)
H1
H2
H7
H3
Netw ork 4
(point-to-point)
Netw ork 2 (Ethernet)
R1
R2
H4
Netw ork 3 (FDDI)
H5
R3
H6
• As an example, let PPP
interface of R2 be Int 1 and let
the FDDI interface be Int 2.
Then, the table looks like:
H8
Net
Num
Next
Hop
1
R3
2
R1
3
Int 2
4
Int 4
Address Resolution
• Physical interface hardware understands only the “link
addresses” of the particular network.
• Thus, IP addresses have to be translated into a link
layer address prior to sending a datagram to a
destination or an intermediate router.
• Remember Ethernet address == 48 bits -- one way is
to encode the host physical address in host part of IP
address.
•
–
This is however not scalable -- not always possible.
A second way is to maintain a static table that maps
an IP address to a physical address -- maintained by
our sys admin. The table is copied onto every host.
Dynamic address resolution using
ARP
• Dynamic resolution is possible using the
Address Resolution Protocol or ARP.
– Protects against the possibility that Ethernet cards
may be replaced.
• ARP requires that a dynamic table that maps
IP addresses onto physical addresses is
refreshed every 15 minutes or so.
• It takes advantage of the “broadcast” nature
of the link.
ARP Mechanics
• When a destination PHY address is to be found, an ARP
query is broadcasted.
–
Query includes destination IP address and link layer
address of sending host.
• Each host checks for match with indicated IP address.
• If match, it sends a response to originator of query
with link layer or PHY address.
• Originator adds this information into its ARP table.
• TTL for each entry in ARP table is 20 minutes.
• Just a reminder -- note that a broadcast address
consists of all 1s.
ARP Message
0
8
16
Hardware type = 1
HLen = 48
PLen = 32
31
ProtocolType = 0x0800
Operation
SourceHardwareAddr (bytes 0― 3)
SourceHardwareAddr (bytes ―
4 5)
SourceProtocolAddr (bytes ―
0 1)
SourceProtocolAddr (bytes 2― 3)
TargetHardwareAddr (bytes ―
0 1)
TargetHardwareAddr (bytes ―
2 5)
TargetProtocolAddr (bytes 0― 3)
• Important nuggets : Hardware type specified type of
physical network -- Ethernet/FDDI
•Protocol Type -- typically IP (higher layer)
•Operation -- specified whether query or response.
DHCP
• IP addresses not only need to be unique but they
need to reflect some structure.
• IP address space is limited -- IP addresses
cannot be hard configured.
– Reconfigurability
• In addition to its own address, typically, node
needs address of default router.
• Manual configuration difficult -- especially in
terms of ensuring uniqueness.
• Automated configuration is done via DHCP -Dynamic Host Configuration Protocol.
How does DHCP work ?
• DHCP server-- responsible for providing
configuration information.
• Each host, upon being booted or connected to the
network, obtains configuration info. from DHCP.
• Note -- admin still picks the IP addresses but
now stores them at the DHCP server.
• Configuration info stored in a table that is
indexed by some unique identifer -- typically the
hardware address.
Increasing flexibility
• On demand allocation possible with DHCP.
• Only a pool of IP addresses specified.
– All of these have same network number.
• When a host needs an address an unused
address from this pool is assigned to the
host.
• Leasing: When DHCP assigns an address,
hosts cannot hold onto address for too
long -- lease has to be renewed!
Particulars
Unicast to server
DHCP
relay
Other netw orks
DHCP
server
Broadcast
Host
• Note that a single DHCP
server for a plurality of
networks (via DHCP relays)
•DHCP relay knows DHCP server
address.
• To contact the DHCP
server, host sends a
DHCPDISCOVER
message to the
broadcast address
(255.255.255.255).
• DHCP server
responds.
Self Study: DHCP Packet
Formats etc.
Error Reporting and ICMP
• When a router is unable to process IP
datagrams correctly, a collection of
error messages sent back to host.
• Use of Internet Control Message
Protocol or ICMP.
• Examples -- host is unreachable,
Reassembly process failed, TTL =0, IP
header checksum failed etc.
ICMP
• Architecturally above IP -- ICMP
messages are carried in IP packets and
are demultiplexed at receiver.
• Examples are ping, traceroute etc.
• ICMP-redirect -- ICMP can suggest a
better route --default router sends the
better route so that host can add new
route to its routing table.
Virtual Private Networks
• Virtual Private Networks
or VPNs: Private networks
-- connections among a set
of sites.
• Private networks have to
have their own links but in
the shared world ...
• One possibility -- Virtual
Circuits
C
Physical links
A
B
Corporation X private netw ork
K
L
M
Corporation Y private netw ork
(a)
K
C
L
Physical links
A
M
B
Virtual circuits
(b)
IP Tunnels
• A virtual point to point link between a pair of
nodes that are in fact separated by an arbitrary
number of networks.
• An IP packet encapsulated within another !
Netw ork 1
R1
Internetw ork
R2
Netw ork 2
10.0.0.1
IP header,
Destination = 2.x
IP header,
Destination = 10.0.0.1
IP header,
Destination = 2.x
IP payload
IP header,
Destination = 2.x
IP payload
IP payload
Representing a virtual
interface
Netw ork 1
R1
Internetw ork
R2
Netw ork 2
10.0.0.1
IP header,
Destination = 2.x
IP header,
Destination = 10.0.0.1
IP header,
Destination = 2.x
IP payload
IP header,
Destination = 2.x
IP payload
IP payload
• Router R1 will have a forwarding
table that looks like ->
Network
Number
Next Hop
1
Interface 0
2
Virtual
Interface 0
Default
Interface 0
Why IP tunnels ?
• Security -- IPSEC -- internal IP packet
encrypted.
• Specific services -- R1 and R2 may have
specific capabilities such as multicast
routing.
• Other protocols.
• Why not ? -- downside is larger IP
packets can deteriorate router
performance.
Where are we ?
• We are done with Section 4.1
• We move onto Section 4.2 -- on
Routing.
Routing Tables
• Routing is the process by which forwarding tables
are built.
• A routing table is a precursor to building a
forwarding table.
– It contains mappings from network numbers to
next hops -- which is the next hop for a given
network number ?
– There may be information as to how this info
was got. Can help router decide on when to
discard information.
– Mainly for calculating changes to topology.
To remind ourselves...
• The forwarding table is a mapping
between the network number and an
outgoing interface.
– Can contain some MAC (link layer)
info such as the Ethernet address of
the next hop.
Network as a graph
• We can visualize the
network as a graph.
• Nodes represent hosts,
routers or even networks.
C
• Each edge has an
associated cost metric -how desirable is it to send
data on that link ?
A
3
4
6
1
2
1
B
9
E
1
D
F
The Problem
• Find the minimum cost path among any
two nodes in the graph.
• Cost of the path = Sum of the costs of
edges that make up the path.
• Process -- Calculate the shortest paths
and store in some nonvolatile storage.
• We need completely distributed routing
policies
– centralized approaches not scalable.
Two popular approaches
• Routing Information Protocol (RIP)
based on Distributed Bellman Ford
or Distance Vector Routing
• OSPF based on Link State Routing
or Dijkstra’s shortest path
algorithm.
Next....
• Different routing approaches.