Chapter 4: Network Layer - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Chapter 4: Network Layer

Description:

Chapter 4: Network Layer – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 29
Provided by: jimku58
Category:
Tags: chapter | layer | network

less

Transcript and Presenter's Notes

Title: Chapter 4: Network Layer


1
Chapter 4 Network Layer
  • 4. 1 Introduction
  • 4.2 Virtual circuit and datagram networks
  • 4.3 Whats inside a router
  • 4.4 IP Internet Protocol
  • Datagram format
  • IPv4 addressing
  • ICMP
  • IPv6
  • 4.5 Routing algorithms
  • Link state
  • Distance Vector
  • Hierarchical routing
  • 4.6 Routing in the Internet
  • RIP
  • OSPF
  • BGP
  • 4.7 Broadcast and multicast routing

2
The Internet Network layer
  • Host, router network layer functions

Transport layer TCP, UDP
Network layer
Link layer
physical layer
3
IP datagram format
  • how much overhead with TCP?
  • 20 bytes of TCP
  • 20 bytes of IP
  • 40 bytes app layer overhead

4
Datagram networks
  • no call setup at network layer
  • routers no state about end-to-end connections
  • no network-level concept of connection
  • packets forwarded using destination host address
  • packets between same source-dest pair may take
    different paths

1. Send data
2. Receive data
5
Longest prefix matching
Prefix Match
Link Interface
11001000 00010111 00010
0 11001000 00010111
00011000 1
11001000 00010111 00011
2
otherwise
3 Longest prefix
matching!
Examples
Which interface?
DA 11001000 00010111 00010110 10100001
Which interface?
DA 11001000 00010111 00011000 10101010
6
IP Fragmentation Reassembly
  • network links have MTU (max.transfer size) -
    largest possible link-level frame.
  • different link types, different MTUs
  • large IP datagram divided (fragmented) within
    net
  • one datagram becomes several datagrams
  • reassembled only at final destination
  • IP header bits used to identify, order related
    fragments

fragmentation in one large datagram out 3
smaller datagrams
reassembly
7
Chapter 4 Network Layer
  • 4. 1 Introduction
  • 4.2 Virtual circuit and datagram networks
  • 4.3 Whats inside a router
  • 4.4 IP Internet Protocol
  • Datagram format
  • IPv4 addressing
  • ICMP
  • IPv6
  • 4.5 Routing algorithms
  • Link state
  • Distance Vector
  • Hierarchical routing
  • 4.6 Routing in the Internet
  • RIP
  • OSPF
  • BGP
  • 4.7 Broadcast and multicast routing

8
Routing
  • Given many choices from A to B, which is the
    best?
  • How to define best? -- Routing metrics or cost
  • E.g., the number of links going through (hops)
  • How to find best one? --Routing algorithms

9
Graph abstraction
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)
A neighbor a direct link. E.g, (u,v) belongs
to E.
Remark Graph abstraction is useful in other
network contexts Example P2P, where N is set of
peers and E is set of TCP connections
10
Graph abstraction costs
  • c(a,b) cost of link (a,b)
  • - e.g., c(w,z) 5
  • c(v,y) infinite
  • cost could always be 1, or
  • inversely related to bandwidth,
  • or inversely related to
  • congestion

Cost of path (x1, x2, x3,, xp) c(x1,x2)
c(x2,x3) c(xp-1,xp)
Question Whats the least-cost path between u
and z ? (how many possible paths?)
Routing algorithm algorithm that finds
least-cost path
11
Chapter 4 Network Layer
  • 4. 1 Introduction
  • 4.2 Virtual circuit and datagram networks
  • 4.3 Whats inside a router
  • 4.4 IP Internet Protocol
  • Datagram format
  • IPv4 addressing
  • ICMP
  • IPv6
  • 4.5 Routing algorithms
  • Link state
  • Distance Vector
  • Hierarchical routing
  • 4.6 Routing in the Internet
  • RIP
  • OSPF
  • BGP
  • 4.7 Broadcast and multicast routing

12
A Link-State Routing Algorithm
  • Dijkstras algorithm
  • net topology, link costs known to all nodes
  • accomplished via link state broadcast
  • all nodes have same info
  • computes least cost paths from one node
    (source) to all other nodes
  • gives forwarding table for that node
  • iterative after k iterations, know least cost
    path to k dest.s
  • Notation
  • c(x,y) link cost from node x to y 8 if not
    direct neighbors
  • D(v) current value of cost of path from source
    to dest. v
  • p(v) predecessor node along path from source to
    v
  • N' set of nodes whose least cost path
    definitively known

13
Dijsktras Algorithm
1 Initialization 2 N' u 3 for all
nodes v 4 if v adjacent to u 5
then D(v) c(u,v) 6 else D(v) 8 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
all v adjacent to 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'
14
Link state, an example (U to Z)
D(v),p(v) 2,u 2,u 2,u
D(x),p(x) 1,u
Step 0 1 2 3 4 5
D(w),p(w) 5,u 4,x 3,y 3,y
D(y),p(y) 8 2,x
N' u ux uxy uxyv uxyvw uxyvwz
D(z),p(z) 8 8 4,y 4,y 4,y
  • Notation
  • D(v) current value of cost of path from source
    to dest. v
  • p(v) predecessor node along path from source to v

15
Dijkstras algorithm example (2)
Resulting shortest-path tree from u
Resulting forwarding table in u
16
Dijkstras algorithm, discussion
  • Algorithm complexity n nodes
  • each iteration need to check all nodes, w, not
    in N
  • n(n1)/2 comparisons O(n2)
  • more efficient implementations possible O(nlogn)
  • Oscillations possible
  • e.g., link cost amount of carried traffic

17
Chapter 4 Network Layer
  • 4. 1 Introduction
  • 4.2 Virtual circuit and datagram networks
  • 4.3 Whats inside a router
  • 4.4 IP Internet Protocol
  • Datagram format
  • IPv4 addressing
  • ICMP
  • IPv6
  • 4.5 Routing algorithms
  • Link state
  • Distance Vector
  • Hierarchical routing
  • 4.6 Routing in the Internet
  • RIP
  • OSPF
  • BGP
  • 4.7 Broadcast and multicast routing

18
Distance Vector Algorithm (1)
Network View of Distance Vector Alg
  • Bellman-Ford Equation
  • Define
  • dx(y) cost of least-cost path from x to y
  • Then
  • dx(y) min c(x,v) dv(y)
  • where min is taken over all neighbors of x

Q a least cost path U-gtZ? Sketch cost if go
through v? cost if go through w? cost if go
through X?
19
Bellman-Ford example (2)
Q a least cost path U-gtZ? Sketch cost if go
through v? Given v-gtz 5 cost if go through w?
Given w-gtz 3 cost if go through X? Given x-gtz
3
Clearly, dv(z) 5, dx(z) 3, dw(z) 3
du(z) min c(u,v) dv(z),
c(u,x) dx(z), c(u,w)
dw(z) min 2 5,
1 3, 5 3 4 From
which neighbor?
Node that achieves minimum is next hop in
shortest path ? forwarding table (for z, go to
x, cost 4)
20
Distance Vector Algorithm (3)
  • Dx(y) estimate of least cost from x to y
  • Node x knows cost to each neighbor v c(x,v)
  • Node x maintains distance vector Dx Dx(y) y
    ? N
  • Node x also maintains its neighbors distance
    vectors
  • For each neighbor v, x maintains Dv Dv(y) y
    ? N

21
Distance vector algorithm (4)
  • Basic idea
  • From time-to-time, each node sends its own
    distance vector estimate to neighbors
  • Asynchronous
  • When a node x receives new DV estimate from
    neighbor, it updates its own DV using B-F
    equation

Dx(y) ? minvc(x,v) Dv(y) for each node y ?
N
  • Under minor, natural conditions, the estimate
    Dx(y) converge to the actual least cost dx(y)

22
Distance Vector Algorithm (5)
  • Iterative, asynchronous each local iteration
    caused by
  • local link cost change
  • DV update message from neighbor
  • Distributed
  • each node notifies neighbors only when its DV
    changes
  • neighbors then notify their neighbors if necessary

Each node
23
Dx(z) minc(x,y) Dy(z), c(x,z)
Dz(z) min21 , 70 3
Dx(y) min c(x,y) Dy(y), c(x,z) Dz(y)
min20 , 71 2
node x table
cost to
x y z
x
0
3
2
y
from
z
time
24
Dx(z) minc(x,y) Dy(z), c(x,z)
Dz(z) min21 , 70 3
Dx(y) minc(x,y) Dy(y), c(x,z) Dz(y)
min20 , 71 2
node x table
cost to
cost to
x y z
x y z
x
0 2 3
x
0 2 3
y
from
2 0 1
y
from
2 0 1
z
7 1 0
z
3 1 0
node y table
cost to
cost to
cost to
x y z
x y z
x y z
x
8
8
x
0 2 7
x
0 2 3
8 2 0 1
y
y
from
y
2 0 1
from
from
2 0 1
z
z
8
8
8
z
7 1 0
3 1 0
node z table
cost to
cost to
cost to
x y z
x y z
x y z
x
0 2 3
x
0 2 7
x
8 8 8
y
y
2 0 1
from
from
y
2 0 1
from
8
8
8
z
z
z
3 1 0
3 1 0
7
1
0
time
25
Distance Vector link cost changes
  • Link cost changes good news travels fast
  • node detects local link cost change
  • updates routing info, recalculates distance
    vector
  • if DV changes, notify neighbors

At time t0, y detects the link-cost change,
updates its DV, and informs its neighbors. At
time t1, z receives the update from y and updates
its table. It computes a new least cost to x
and sends its neighbors its DV. At time t2, y
receives zs update and updates its distance
table. ys least costs do not change and hence y
does not send any message to z.
26
Distance Vector link cost changes
  • Link cost changes bad news travels slow
  • 44 iterations before algorithm stabilizes see
    text
  • count to infinity problem!
  • Poisoned reverse
  • If Z routes through Y to get to X
  • Z tells Y its (Zs) distance to X is infinite (so
    Y wont route to X via Z)
  • will this completely solve count to infinity
    problem?

27
Comparison of LS and DV algorithms
  • Message complexity
  • LS with n nodes, E links, O(nE) msgs sent
  • DV exchange between neighbors only
  • convergence time varies
  • Speed of Convergence
  • LS O(n2) algorithm requires O(nE) msgs
  • may have oscillations
  • DV convergence time varies
  • may be routing loops
  • count-to-infinity problem
  • Robustness what happens if router malfunctions?
  • LS
  • node can advertise incorrect link cost
  • each node computes only its own table
  • DV
  • DV node can advertise incorrect path cost
  • each nodes table used by others
  • error propagate thru network

28
Routing protocols
  • routing determine route taken by packets from
    src to dest
  • How a route know about other routers?
  • Initially, a router knows physically-connected
    neighbors, and link costs to neighbors. What
    else it knows?
  • Routing update messages (also called
    advertisements) -- exchanged between routers
  • With the knowledge, how a route find the right
    path for a source to a destination?
  • Calculated using a routing algorithms depends
    on the knowledge it has.
  • Routing protocol
  • Routing messages and an algorithm
  • Outcomes go to forwarding table.
  • Two OSPF and RIP
Write a Comment
User Comments (0)
About PowerShow.com