Title: Network Layer Review
1Network Layer Review
So far we look at issues concerning the network
layer such as routing and congestion. We
considered the implications of heterogeneous (at
the data link layer) networks on trying to
connect them. Since different data link layer
schemes can have incompatible addressing schemes,
we need another layer, the Network Layer, to
provide a common addressing scheme and associated
routing functions. We will look at probably the
most popular network layer protocol, Internet
Protocol (IP) that is used to connect
heterogeneous network into an internet.
2The Network Layer in the Internet
- The IP Protocol
- IP Addresses
- Internet Control Protocols
- OSPF The Interior Gateway Routing Protocol
- BGP The Exterior Gateway Routing Protocol
- Internet Multicasting
- Mobile IP
- IPv6
3Design Principles for Internet
- Make sure it works.
- Keep it simple (avoid features, Occam's Razor).
- Make clear choices.
- Exploit modularity.
- Expect heterogeneity.
- Avoid static options and parameters.
- Look for a good design it need not be perfect.
- Be strict when sending and tolerant when
receiving. - Think about scalability.
- Consider performance and cost.
4Collection of Subnetworks
- The Internet is an interconnected collection of
many networks.
5Service provided by IP
The transport layer gives to IP a datagram and a
destination IP address. IP takes this datagram
and sends it over the Internet, possibly in
several fragments. The IP protocol at the
destination collects the fragments and if all
fragments got through, assembles them into a
datagram and delivers it to the destination
transport layer.
6IPv4 header The glue that holds the Internet
together
- IHL header length in 32-bit words, between 5
and 15 - Type of service - ignored by the routers.
- Identification all fragments of a datagram
contain the same value - DF do not fragment, MF more fragments
- Protocol TCP, UDP, assigned numbers are on
www.iana.org
7The IP Protocol (2)
5-54
8IP Address formats
IP address do not identify hosts in general. They
identify a host on a network. If a computer is
connected to more than one network, it has more
than one IP address (e.g., routers, multihomed
hosts). A 128 networks with 16 million hosts
B 16,384 networks with with 64K hosts (not
enough!) C 2 million networks with 256 hosts
9Special IP Addresses
10Subnets (2)
- A class B network subnetted into 64 subnets.
- The number of bits that form the network part of
the IP address is called the netmask. - Netmask here is 255.255.252.8/22
- Class B has a netmask of 16 1s or 255.255.0.0/16
11Network Design
Temple University has been assigned the
155.247.x.x range of addresses. This is a class B
address so
10011011 11110111 00000000 00000000
(155.247.0.0) (total of 256256
65536) 10011011 11110111 11111111 11111111
(155.247.255.255)
16 bit network addr
16 bit host addr
We could have had one big network (with up to
65536 hosts) for the whole university attached
to a single router. But that would a
administrative nightmare trouble shooting,
traffic locality, and address allocation. So we
create smaller subnets
12Subnets
- A campus network consisting of LANs for various
departments.
13Subnets (2)
10011011 11110111 00000000 00000000 10011011
11110111 00000000 11111111 10011011 11110111
00000001 00000000 10011011 11110111 00000001
11111111 10011011 11110111 11111111 11111111
16 bit network
8 bit subnet
8 bit host
Inside Temple's network, we have subnetted our
Class B allocation 155.247.0.0 into 256 subnets,
by stealing 8 bits from the host bits. Now one
or more subnets can be assigned to each
department and each department (subnet) can have
a router. So a typical Temple IP address is
written as 155.247.170.1/24 where the /24 denotes
the netmask.
14Storing/Exchanging address
Traditional IP scheme the netmask is implicit in
the address. Let see what are the entries that
would be stores in a typical router Network
Next Hop 208.12.16/24 11010000
00001100 00010000 x.x.x.x ... 208.12.21/24
11010000 00001100 00010101 x.x.x.x ... ... 208.
12.31/24 11010000 00001100 000101111
x.x.x.x
If we use classful addressing we must list 15
entries in the routing table.
15Scaling Issues
A few decades back, given the rate at which the
Internet was growing, service providers were
facing two major challenges - Growth of routing
table entries. - Depletion of addresses space.
16Classless InterDomain Routing (CIDR)
Returning to our previous example
Network
Next Hop 208.12.16/24 11010000 00001100
00010000 x.x.x.x ... 208.12.21/24 11010000
00001100 00010101 x.x.x.x ... ... 208.12.31/24
11010000 00001100 00011111 x.x.x.x
Notice that since the first 20 bits are identical
for all addresses, these entries could be
aggregated as 208.12.16/20 11010000 00001100
0001 x.x.x.x
This reduces the number of entries in the routing
table significantly. However, there might be
exception that break entries what could have been
aggregated. This introduces a set of issues
resolved using the longest-prefix-match
algorithms.
17Classless InterDomain Routing (CIDR)
CIDR only works well if next hop of all the
aggregated entries are the same. Suppose we had
Network
Next Hop 208.12.16/24 11010000 00001100
00010000 x.x.x.x ... 208.12.21/24 11010000
00001100 00010101 y.y.y.y 208.12.22/24
11010000 00001100 00010110 x.x.x.x ... 208.12.3
1/24 11010000 00001100 00011111
x.x.x.x
Now not all hosts with first 20 bits common have
the same next hop, so what do we do ? We can
either go back to not aggregating or create
exceptions such as
208.12.16/20 11010000 00001100 0001
x.x.x.x 208.12.21/24 11010000 00001100
00010101 y.y.y.y
But now, 208.12.21.5 will match both the first
and second entry, so which one do we choose ? Now
we use the longest-prefix-match and use the
second entry.
18CIDR Classless InterDomain Routing
5-59
- A set of IP address assignments.
- Dropping the classes makes forwarding more
complicated - The routing table is scanned sequentially.
- The entries can be aggregated, e.g., the 3
entries to 194.24.0.0/19 - If multiple entries with different subnet mask
lengths match, the longest mask is used.
19NAT Network Address Translation
- Placement and operation of a NAT box.
20Private IP addresses10.0.0.0 10.255.255.255
(16,777,216 hosts) 172.16.0.0 172.31.255.255
(1,048,576 hosts) 192.168.0.0 192.168.255.255
(65,536 hosts) NAT uses source and destination
ports of TCP and UDP to sort packets. Thus, NAT
mixes up network layer with transport layer!!!
21Internet Control Message Protocol
5-61
- ICMP is used to exchange massages between
routers. - The principal ICMP message types.
22ARP The Address Resolution Protocol
- Three interconnected /24 networks two Ethernets
and an FDDI ring. - Interface between Data Link Layer and Network
Layer. - Mapping between IP addresses and MAC Ethernet
addresses. - Host 1 want to send a packet to host 2. It
broadcasts on his LAN Who has IP addr.
192.31.65.5? Host 2 will respond with his MAC
addr. E2
23Dynamic Host Configuration Protocol
24The Interior Gateway Routing Protocol
- An autonomous system. (b) A graph
representation of (a). - Link State Routing is used.
252. OSPF (Open Shortest Path First)
- The relation between ASes, backbones, and areas
in OSPF.
263. OSPF
5-66
- The five types of OSPF messages.
27The Exterior Gateway Routing ProtocolBGP (Border
Gateway Protocol)
- A set of BGP routers. (b) Information sent
to F. - We need to worry about politics.
- A distance vector routing is used, but the whole
path is used. - F goes to D FGCD, and G crashes, then F takes
FBCD.
28IP Multicast Motivation
R
R
SOURCE
SOURCE
R
R
R
R
Multicast
Multiple Unicasts
29IP address as a GROUP
Traditionally we associate a unicast IP address
with a single machine/interface. An multicast IP
address is exactly the opposite it identifies a
collection of machines. There machines do not
have to be on a single subnet. They could be
anywhere in an internet. In multicast
communications, a machines joins and leaves a
group as necessary and could be part of more than
one group simultaneously. A machine joins a
group by sending a IGMP (Internet Group
Management Protocol) join message to a multicast
capable router.
30The Main IPv6 Header
- Traffic class the same as Type of service in
IPv4 - Flow label virtual connection label
- Hop limit the same as Time to live in IPv4
31Extension Headers
5-69