1.
Chapter 4
Network Layer
Computer Networking: A
Top Down Approach
4th edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2007.
2.
Classless Addressing
•To overcome address depletion
•No classes, but the address are still granted in blocks.
•The size of the block( the number of addresses) varies based
on the nature and size of the entity.
• Household: 2 addresses
•Large organization: thousands of addresses
• ISP: thousands or hundreds of thousands based on the
number of customers it may serve.
•The number of addresses in a block must be power of two
(2,4,8…..).
•Classless Inter Domain Routing (CIDR)
3.
Mask:Slash Notation
• Each mask is made of some ones from
the left and followed by some 0s.
• Instead of 255.255.255.224
– Mask has 27 1s
– Attach this number to a classless address
–x.y.z.t/n
• n defines the number of bits that are same in
every block.
4.
Subnetting
Home Assignment
An organization is granted a block of addresses with the
beginning address 14.24.74.0/24. There are 232−24= 256
addresses in this block. The organization needs to have
11 subnets as shown below:
a. two subnets, each with 64 addresses.
b. two subnets, each with 32 addresses.
c. three subnets, each with 16 addresses.
d. four subnets, each with 4 addresses.
Design the subnets.
5.
Internet and Routing
Basic function of the Internet
To allow any two hosts to talk to each other using IP
packets
Routing enables data packets to find the way
through the Internet
Depending on the locations of the two hosts, the
delivery can be
Direct, or
Indirect
8.
How do hosts make routing
decisions?
When a host X receives a packet to be
delivered to Y
Host X checks whether Y is within the
same subnet
If yes, directly deliver the packet to
host Y
If no, deliver the packet to the
appropriate router
How can host X tell whether Y is in the
same network?
9.
Exercise
Host X with IP address 130.130.10.10 and
network mask 255.255.255.128 receives the
following two packets:
Packet A destined for 130.130.10.56
Packet B destined for 130.130.10.156
Determine whether they will be delivered
directly or indirectly?.
10.
Solution
Host IP address is 130.130.10.10
Subnet mask is 255.255.255.128
Network address is 130.130.10.0
Address range 130.130.10.0 to 130.130.10.127
Packet A will be delivered directly
Packet B will be delivered indirectly
11.
CIDR and Routing
Information
Company X :
ISP X owns:
National ISP
206.0.68.0/22
206.0.64.0/18
204.188.0.0/15
209.88.232.0/21
ISP y :
209.88.237.0/24
Organization z1 :
Organization z2 :
209.88.237.192/26
209.88.237.0/26
12.
CIDR and Routing
Information
Routers in National ISP do not
know anything about Company
X, ISP Y, or Organizations z1, z2.
Company X :
ISP X does not know about
Organizations z1, z2.
National ISP
206.0.68.0/22
ISP X owns:
ISP y sends everything which matches
the prefix:
206.0.64.0/18
209.88.237.192/26 to Organization z1
204.188.0.0/15
209.88.237.0/26 to Organization z2
209.88.232.0/21
ISP X sends everything which
matches the prefix:
206.0.68.0/22 to Company X,
209.88.237.0/24 to ISP y
National ISP sends everything
which matches the prefixes
206.0.64.0/18, 204.188.0.0/15,
209.88.232.0/21 to ISP X.
ISP y :
209.88.237.0/24
Organization z1 :
Organization z2 :
209.88.237.192/26
209.88.237.0/26
13.
Routing Protocols
• Define how routers exchange network information
– What type of information
– The format of information exchange
– When to exchange
– Which router to exchange information with
• Examples
– Routing Information Protocol (RIP)
– Enhanced Interior Gateway Routing Protocol
(EIGRP)
– CISCO Proprietary
– Open Shortest Path First (OSPF)
– Border Gateway Protocol (BGP)
14.
Routing Algorithms
Given a set of routers a
routing algorithm finds a
“Good” path from source
router to destination router
Least cost path
routing algorithm
local forwarding table
header value output link
0100
0101
0111
1001
A graph is used to
formulate routing problems
A Graph G=(N,E) is a
Set of N nodes and a
collection E of edges
Nodes in the graph
represent Routers
Edges represent physical
links
3
2
2
1
packet’s header
0111
1
3 2
15.
Graph Abstraction
5
2
u
v
2
1
x
3
w
3
1
5
z
1
y
2
Graph: G = (N,E)
N = set of routers = { u, v, w, x, y, z }
E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
16.
Graph Abstraction: costs
5
2
u
v
2
1
x
• c(x,x‟) = cost of link (x,x‟)
3
w
3
1
5
z
1
y
2
- e.g., c(w,z) = 5
• Cost can be
•Physical length of the link
•Delay etc.
Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)
Question: What‟s the least-cost path between u and z ?
Routing algorithm: Algorithm that finds least-cost path
17.
Routing Algorithm Classification
Global Routing Algorithm
Decentralized Routing
Algorithm
Computes least cost path
No node has complete
using complete global
knowledge about the
network.
Takes connectivity between
all nodes and all link costs
as input.
All routers have complete
topology, link cost
information
Also called “Link State”
Algorithms
Used by Open Shortest
Path First Protocol (OSPF)
information about the cost
of all links.
In the beginning knowledge
of its own directly attached
links.
Computes least cost path by
an iterative process of
calculation and exchange of
information.
Also called Distance Vector
(DV) Algorithm
Used by Routing Information
Protocol (RIP)
18.
Link-State Routing Algorithm
Network topology and link
costs are known to all
nodes
Each node broadcast
link state packets to all
other nodes in the
network
Each link state packet
contains the identities
and cost of its attached
links
Dijkstra‟s Algorithm
Computes least cost paths
from one node („source”) to
all other nodes
Iterative: After k
iterations, least cost paths
to k destinations are known
Notation:
D(v): Current value of least
cost path from source to
destination (v).
p(v): Predecessor node along
path from source to v
N': Subset of nodes whose
least cost path is definitively
known
19.
Dijkstra‟s Algorithm: Example
Step
0
1
2
3
4
5
N'
u
ux
uxy
uxyv
uxyvw
uxyvwz
D(v),p(v) D(w),p(w)
2,u
5,u
2,u
4,x
2,u
3,y
3,y
5
2
u
v
2
1
x
D(x),p(x)
1,u
D(y),p(y)
∞
2,x
D(z),p(z)
∞
∞
4,y
4,y
4,y
Resulting forwarding table in u:
3
w
3
1
5
z
1
y
destination
2
link
x
(u,x)
y
(u,x)
v
w
z
(u,v)
(u,x)
(u,x)
20.
Dijkstra‟s Algorithm
5
1 Initialization:
3
v
w
2 N' = {u}
2
3 for all nodes v
u
2
1
4
if v is a neighbor of u
3
1
5
then D(v) = c(u,v)
x
y
1
6
else D(v) = ∞
7
8 Loop
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for each neighbor v of w and not in N' :
12
D(v) = min( D(v), D(w) + c(w,v) )
13 /* new cost to v is either old cost to v or known
14 shortest path cost to w plus cost from w to v */
15 until all nodes in N'
5
z
2
21.
Dijkstra‟s Algorithm-Example
Find the shortest path from S to all nodes using Dijkstra‟s
Algorithm?
Be the first to comment