Vous êtes sur la page 1sur 48

Dynamic Routing and OSPF

(part 1)
IP routing
❚ Each router or host makes its own routing
decisions
❚ Sending machine does not have to determine
the entire path to the destination
❚ Sending machine just determines the next-
hop along the path.
❙ This process is repeated until the destination is
reached
❚ Forwarding table consulted to determine the
next-hop
IP routing
❚ Classless routing
❙ route entries include
❘ destination
❘ next-hop
❘ mask (prefix-length) indicating size of address space
described by the entry
❚ Longest match
❙ for a given destination, find longest prefix match
in the routing table
❙ example: destination is 35.35.0.0/19
❘ routing table entries are 35.0.0.0/8 and 35.35.0.0/16
IP routing
❚ Default route
❙ where to send packets if don’t have an
entry for the destination in the routing
table
❙ most machines have a single default
route
❙ often referred to as a default gateway
Static routing
❚ each router manually configured
with a list of destinations and the
next hop to reach those destinations
❚ ideal for small number of
destinations or “stub” networks
❙ stub network - network with only one or
two paths to the rest of the network
Dynamic Routing
❚ routers compute routing tables
dynamically based on information
provided by other routers in the network
❚ routers communicate topology to each
other via different protocols
❚ routers then compute one or more next
hops for each destination - trying to
calculate the most optimal path
Static and Dynamic
Routing

❚ Static routing is a simplistic approach


❚ Shortcomings:
❙ Cumbersome to configure
❙ Cannot adapt to link/node failures, addition of new
nodes and links
❙ Doesn't scale to large networks
❚ Solution: Dynamic Routing
Desirable
Characteristics
❚ Automatically detect and adapt to network
topology changes
❚ Optimal routing
❚ Scalability
❚ Robustness
❚ Simplicity
❚ Speed of convergence
❚ Some control of routing choices (e.g. which links
we prefer to use)
Convergence - Why do I
care?

❚ Convergence is when all the routers have the same


routing information
❚ When a network is not converged, there is network
downtime
❙ Packets don't get to where they are supposed to be
going: routing loops, black holes
❙ Occurs when there is a change in the status of a router or
link
Dynamic Protocols
❚ Metrics can be calculated based on a
single characteristic of a path or by
combining multiple characteristics
❚ Metrics commonly used:
❙ Bandwidth
❙ Hop count
❙ Cost
❘ administratively defined metrics
OSPF magic exercise
❚ delete your static routes
❙ config t
❙ no ip route x.x.x.x y.y.y.y z.z.z.z
❚ enter the following:
❙ router ospf 1
❙ network x.x.x.x 0.0.0.0 area 0
❙ x.x.x.x = ip address of your backbone
interface
❙ redistribute connected subnets
OSPF magic exercise
❚ Verify connectivity to all PCs in the
network
❚ Do not save your config
Dynamic Routing Protocols
and OSPF (part 2)
Types of Routing Protocols
❚ EGP
❙ Exterior Gateway Protocol
❙ Example: BGP
❚ IGP
❙ Interior Gateway Protocol
❙ Example: OSPF, RIP
Types of Routing Protocols
❚ Link-state
❚ Distance-vector
IGP
❙ Used within a single Autonomous
System (AS)
❙ Within a single network
Other Interior Gateway
Protocols (IGPs)
❚ RIP
❙ Lots of scaling problems
❙ RIPv1 is classful and officially obsolete
❙ RIPv2 is classless
❚ EIGRP
❙ Proprietry (Cisco only)
❚ IS/IS
❙ The forerunner of OSPF
❙ Multiprotocol (OSPF is IP only)
Distance Vector Protocols
❚ Listen to neighboring routes
❚ Install all routes in a table
❚ Advertise all routes in table
❚ Very simple
❚ Very Stupid
❚ example: RIP
RIP
❚ routing information protocol
❚ distance-vector algorithm
❚ cost is hop count
❚ broadcast information to all
neighbors every 30 seconds
RIP

A B C

D E

ROUTING TABLE for A


A -
B 1
C 2
D 3
E 2
Why not use
RIP?
❚ Distance Vector algorithm
❚ Broadcasts everything (not scalable)
❚ Metric is hop-count only
❚ Infinity of 16 (not large enough)
❚ Slow convergence (routing loops)
❚ Poor robustness
OSP
F

❚ Open Shortest Path First


❚ Dynamic IGP (Interior Gateway Protocol)
❙ Use within your own network
❚ Link state algorithm
Shortest Path
First
Metric: Link Cost

3
A B

15
4 4

C D
7
Link State
Algorithm
❚ Each router maintains a database
containing map of the whole topology
❙ Links
❙ State (including cost)
❚ All routers have the same information
❚ All routers calculate the best path to
every destination
Link State Algorithm (con)
❚ Any link state changes are flooded
across the network
❚ "Global spread of local knowledge”
Link State vs. Distance
vector
❚ Distance Vector
❙ views net topology from neighbor’s
perspective
❙ adds distance vectors from route to
router
❙ frequent, periodic updates; slow
convergence
❙ passes copies of routing table to
neighbor routers
Link State vs. Distance
vector
❚ Link-State
❙ gets common view of entire network
topology
❙ calculates the shortest path to other
routers
❙ event-triggered updates; faster
convergence
❙ passes link-state routing updates to
other routers
Distance Vector and Link
State Protocols
❚ Distance vector routers compute the
best path from information passed to
them from neighbors
❚ Link State routers each have a copy
of the entire network map
❚ Link State routers compute best
routes from this local map
Note: Routing is not the same
as Forwarding
❚ Forwarding: passing packets along to the next
hop
❙ There is only one forwarding table
❙ Just has prefix and next-hop info
❚ Routing: populating the forwarding table
❙ You might have multiple routing databases - e.g. both
OSPF and BGP
❙ Routing databases have more information
Routing and
Forwarding
BGP

OSPF Static

Forwarding
Table

On Cisco, if the same prefix is received from multiple


protocols, the "administrative distance" is used to choose
OSPF
❚ open shortest path first
❚ dynamic IGP
❚ not distance vector
❚ Link-State algorithm
OSPF: How it
works (1)

❚ "Hello" packets sent periodically on all OSPF-enabled


interfaces
❙ become "neighbors"
❙ establishes that link can carry data
❙ used to determine if neighbor is up
❚ Adjacencies (virtual point-to-point links) formed
between some neighbors
How it works
(2)

❚ Once an adjacency is established, trade


information with your neighbor
❚ Topology information is packaged in a "link state
announcement"
❚ Announcements are sent ONCE, and only
updated if there's a change (or every 30
minutes)
How it works
(3)

❚ Each router sends Link State Announcements (LSAs) over


all adjacencies
❙ LSAs describe router's links, interfaces and state
❚ Each router receives LSAs, adds them into its database,
and passes the information along to its neighbors
How it works
(4)

❚ Each router builds identical link-state


database
❚ Runs SPF algorithm on the database to build
SPF tree
❚ Forwarding table built from SPF tree
How it works
(5)

❚ When change occurs:


❙ Broadcast change
❙ All routers run SPF algorithm
❙ Install output into forwarding table
HELL
O
❚ Broadcast* HELLO on network segment
❚ Receive ACK
❚ Establishes 2-way communication
❚ Repeat periodically
❙ Default: HELLO sent every 10 seconds
❙ Default: if no HELLO heard for 40 seconds, link is
assumed to be dead
❚ Now establish adjacencies

tually uses Multicast addresses (224.0.0.9, 224.0.0.10) so


non-OSPF devices can ignore the packets
The HELLO
packet
HELLO

HELLO HELLO

❙ Router priority
❙ Hello interval
❙ Router dead interval
❙ Network mask
❙ List of neighbors These must match
Neighbo
rs

❚ Bi-directional communication
❚ Result of OSPF hello packets
❚ Need not exchange routing information
Who is
adjacent?

❚ "Adjacent" neighbors exchange routing


information
❚ Not all neighbors are adjacent
❚ On a point-to-point link
❙ everyone
❚ On broadcast medium
❙ not everyone
❙ why?
Broadcast
neighbors
Order of N^2 adjacencies

A B

C D
Broadcast
medium

❚ Select a neighbor: Designated Router (DR)


❚ All routers become adjacent to DR
❚ Exchange routing information with the DR
❚ DR updates all the other neighbors
❚ Scales
❙ Adjacencies reduced from N^2 to 2N
❚ Backup Designated Router (BDR)
LSAs propagate along
adjacencies

DR BDR
Other nice features of
OSPF (optional)
❚ Authentication
❚ Equal-cost multipath
❙ more than one "best" path - share traffic
❚ Proper classless support (CIDR)
❚ Multiple areas
❙ For very large networks (>150 routers)
❙ Aggregate routes across area boundaries
❙ Keep route flaps within an area
❙ Proper use of areas reduce bandwidth and CPU utilisation
❙ Backbone is Area 0
Cisco OSPF commands and
configuration
❚ show ip route
❚ show ip ospf neighbor
❚ show ip ospf database
Configuring OSPF
❚ router ospf <process-id>
❚ network x.x.x.x m.m.m.m area <area-id>
❚ m.m.m.m = wildcard mask
❚ 0 = don’t care bit
❚ 1 = check bit
❚ 0.0.0.0 mask for exact match
❚ network 203.167.177.10 0.0.0.0 area 0
❚ network 203.167.177.0 0.0.0.255 area 0
Classroom Layout
HUB HUB
A B
PC Router Router PC

HUB HUB
C D
PC Router Router PC

HUB HUB
E F
PC Router Router PC

HUB HUB
G H
PC Router Router PC

HUB HUB
I J
PC Router Router PC

SWITCH
Serial Links for exercise
A B
133.27.162.96/28 133.27.162.112/28
133.27.162.48/30
133.27.162.60/30
C D

133.27.162.16/28
133.27.162.128/28 133.27.162.144/28

E F
133.27.162.160/28 133.27.162.176/28
133.27.162.52/30 133.27.162.64/30

G H
133.27.162.192/28 133.27.162.208/28

I J
133.27.162.224/28 133.27.162.240/28

133.27.162.56/30

Vous aimerez peut-être aussi