Network Layer Review
Download
Report
Transcript Network Layer Review
Network 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.
The Network Layer in the Internet
a) The IP Protocol
b) IP Addresses
c) Internet Control Protocols
d) OSPF – The Interior Gateway Routing Protocol
e) BGP – The Exterior Gateway Routing Protocol
f) Internet Multicasting
g) Mobile IP
h) IPv6
Design Principles for Internet
A.
B.
C.
D.
E.
F.
G.
H.
I.
J.
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.
Collection of Subnetworks
The Internet is an interconnected collection of many networks.
Service 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.
IPv4 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
The IP Protocol (2)
5-54
Some of the IP options.
IP 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
Special IP Addresses
Special IP addresses.
Subnets (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
Network 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 256*256 = 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
Subnets
A campus network consisting of LANs for various departments.
Subnets (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.
Storing/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
208.12.16/24
...
208.12.21/24
...
...
208.12.31/24
11010000 00001100 00010000*
Next Hop
x.x.x.x
11010000 00001100 00010101*
x.x.x.x
11010000 00001100 000101111*
x.x.x.x
If we use classful addressing we must list 15 entries in the routing table.
Scaling 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.
Classless InterDomain Routing (CIDR)
Returning to our previous example:
Network
208.12.16/24 11010000 00001100 00010000*
...
208.12.21/24 11010000 00001100 00010101*
...
...
208.12.31/24 11010000 00001100 00011111*
Next Hop
x.x.x.x
x.x.x.x
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.
Classless InterDomain Routing (CIDR)
CIDR only works well if next hop of all the aggregated entries are the
same. Suppose we had
Network
208.12.16/24
...
208.12.21/24
208.12.22/24
...
208.12.31/24
11010000 00001100 00010000*
Next Hop
x.x.x.x
11010000 00001100 00010101*
11010000 00001100 00010110*
y.y.y.y
x.x.x.x
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*
208.12.21/24 11010000 00001100 00010101*
x.x.x.x
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.
CIDR – 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.
NAT – Network Address Translation
Placement and operation of a NAT box.
Private IP addresses:
10.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!!!
Internet Control Message Protocol
5-61
ICMP is used to exchange massages between routers.
The principal ICMP message types.
ARP– 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
Dynamic Host Configuration Protocol
Operation of DHCP.
The Interior Gateway Routing Protocol
(a)
An autonomous system. (b) A graph representation of (a).
Link State Routing is used.
2. OSPF (Open Shortest Path First)
The relation between ASes, backbones, and areas in OSPF.
3. OSPF
5-66
The five types of OSPF messages.
The Exterior Gateway Routing Protocol
BGP (Border Gateway Protocol)
(a) 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.
IP Multicast: Motivation
R
R
SOURCE
SOURCE
R
R
R
Multiple Unicasts
R
Multicast
IP 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.
The 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
Extension Headers
5-69
IPv6 extension headers.