Download Dynamic Routing and OSPF

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Deep packet inspection wikipedia , lookup

Distributed firewall wikipedia , lookup

Internet protocol suite wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Backpressure routing wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Network tap wikipedia , lookup

Peering wikipedia , lookup

Wake-on-LAN wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Computer network wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

IEEE 1355 wikipedia , lookup

Airborne Networking wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Routing wikipedia , lookup

Transcript
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
D
E
ROUTING TABLE for A
A
B
1
C
2
D
3
E
2
C
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
OSPF
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
4
C
15
7
4
D
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 between them
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
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
The HELLO packet
HELLO
HELLO
Router priority
Hello interval
Router dead
interval
Network mask
List of
HELLO
These must match
Neighbors
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
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
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
A
PC
HUB
Router
PC
HUB
Router
PC
HUB
Router
PC
HUB
Router
PC
H
PC
Router
HUB
HUB
I
F
PC
Router
HUB
G
D
PC
Router
HUB
E
PC
Router
HUB
C
B
Router
Router
SWITCH
J
PC
Serial Links for exercise
A
B
133.27.162.96/28
133.27.162.112/28
133.27.162.48/30
C
133.27.162.128/28
E
133.27.162.160/28
133.27.162.52/30
G
133.27.162.192/28
133.27.162.16/28
133.27.162.60/30
D
133.27.162.144/28
F
133.27.162.176/28
133.27.162.64/30
H
133.27.162.208/28
I
J
133.27.162.224/28
133.27.162.240/28
133.27.162.56/30