2. 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
3. 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
4. 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
5. 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
6. 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
7. 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
8. 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)
9. 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
10. 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
11. 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
16. IGP
Used within a single Autonomous System
(AS)
Within a single network
17. 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)
18. Distance Vector Protocols
Listen to neighboring routes
Install all routes in a table
Advertise all routes in table
Very simple
Very Stupid
example: RIP
21. 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
22. OSPF
Open Shortest Path First
Dynamic IGP (Interior Gateway Protocol)
Use within your own network
Link state algorithm
24. 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
25. Link State Algorithm (con)
Any link state changes are flooded across
the network
"Global spread of local knowledge”
26. 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
27. 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
28. 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
29. 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
32. 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
33. 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)
34. 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
35. 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
36. How it works (5)
When change occurs:
Broadcast change
All routers run SPF algorithm
Install output into forwarding
table
37. HELLO
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
* Actually uses Multicast addresses (224.0.0.9, 224.0.0.10) so
that non-OSPF devices can ignore the packets
38. The HELLO packet
Router priority
Hello interval
Router dead
interval
Network mask
List of
These must match
HELLO
HELLO HELLO
40. 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?
42. 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)
44. Other nice features of OSPF
Authentication (optional)
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
45. Cisco OSPF commands and
configuration
show ip route
show ip ospf neighbor
show ip ospf database
46. 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