Download Lecture 24: IP Routing

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

Zero-configuration networking wikipedia , lookup

Network tap wikipedia , lookup

Drift plus penalty wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Internet protocol suite wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Backpressure routing wikipedia , lookup

Computer network wikipedia , lookup

IEEE 1355 wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Peering wikipedia , lookup

Airborne Networking wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Dijkstra's algorithm wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Routing wikipedia , lookup

Transcript
CS 453
Computer Networks
Lecture 24
IP Routing
See…
http://en.wikipedia.org/wiki/Routing
Routing
In layer 1 and layer 2 we, logically and
conceptually anyway, treated
communications links as point-to-point…
While that was not technically true is a
viable was to organize networks because
The layer hardware and protocols took
care of the point-to-pointness for us
Routing
Remember that the Internet is a network of
networks…
… of autonomous networks (or automous
systems – we get back to this idea later)…
With a conglomerations of networks –
layer 3) we introduce …
A number of new issues and complications
Routing
Notably – paths and routes
Recall one of the principles of the internet
is that …

Any node is reachable (in principle) from any
other node
Routing
Our packets and messages must be able
to navigator through an immensely
complete irregular mesh of nodes and
links to get from A to B
But A and B don’t know how to do this
…so in reality the packets and message
are navigated through the network…
…by the network
This is Routing
Routing
Devices (routers) within the network are
waypoints for messages…
…and must make decisions about the
“best” path to get the messages from A to
B…
… and, then, move the messages along
that path
Routing
Routing is the job of moving message
across the network…
..by the routers
B
A
How to get from A to B?
Routing
It can get very complex


How many routes
Which one to use
B
A
Routing
Non-adaptive Routing (Static Routing)





Routes from any source to any destination…
Predefined
Fixed
Established when routers boot
Does reflect router/link failures, loads, etc
Routing
Adaptive Routing



Routes are dynamic
Routers “teach” other routers routes
Routers swap routing information to reflect
changes in available routes, down links,
…many other things
Routing
Shortest Path Routing




Conceptualize a network as an undirected graph
(easy to do!)
Better yet, a weighted undirected graph
Shortest Path algorithm finds the short path through
this graph from A to B
Shortest, that is distance can be defined in a number
of ways
Hops, physical distance, delay, etc.


Such metrics are the weights
Most common: Dijkstra’s Shortest Path Algorithm
Routing
Flooding Algorithm



Router sends message out on every port
except the one that it came in on –
concurrently
So, the same message “flying” on every route
but one
Selective routing – flood routes that make
sense
…all routes to Europe, rather than all routes
Routing
Flooding Algorithm




Very inefficient
Wastes a lot of bandwidth
Resilient
Good for high failure networks
Military – combat deployments
Catastrophe deployment
Routing
Distance Vector Routing Algorithms




Bellman-Ford algorithm
Each router maintains a table of routes
Initially each router table has entry or each
neighbor and distance to that neighbor
Periodically each router swaps with its
neighbor all of the routes and distances to
every location that it knows about
Routing
Distance Vector Routing Algorithms



Over time, due to this swapping, each router
builds and maintains a table of routes and
distances to all destinations
Networks changes (link or router failures) are
reflected in these route swaps
“Distance” in this algorithm can be any
defined network metric
Hops, delay, cost,…
Routing
Distance Vector Routing Algorithms
From: Tanenbaum (2003) pg. 358
Routing
Count-to-infinity problem
A
B
C
D
•Consider – each link = 1 hop
B has message for A – distance = 1
A-B link goes down, B knows this and looks for another route to A
B has route to C and C has route to A – distance 2 + 1(from B)…
So update the routing table in B, C, D in this scenario
Routing
Link State Algorithms


Replaced distance vector routing on Internet
in 1979
Each router –
Floods the network to discover its neighbors
Measures the cost/delay to discovered neighbors
Floods network with information about every node
it can reach (LSA)
Constructs a topology map with this information
Calculates shortest path to every router/node in
network (Dijkstra’s Shortest Path algorithm
Routing
Link State Algorithms

Result
Tree graph with each router as the root …
… and the least cost path to every other
node
Build a routing table with best next hop for
from current node to every other node in
network
Routing
Each router is responsible for maintaining
its own route tables
Although it may follow principles, there is
no single router or control point
responsible for selecting routes
In a sense it is like politics

All routing is local routing
Routing
Hot-potato routing
Carrier X
100 ms latency
A
C
10 ms latency
5 ms latency
B
D
125 ms latency
Carrier Y
Router A needs to get a packet to Route D
What is the best way to get it there?
…but…
Routing
Internal Gateway Routing Protocol
Routing
Remember the idea of Autonomous
Systems
One of the key principles that makes the
Internet work is that it is a network of
Autonomous Systems (AS)
Issues associated with routing within an
AS (interior) are different from routing
between AS (exterior)
Routing
Intra-AS routing
RIP – Routing Information Protocol





One the earliest interior routing protocols
Distance Vector algorithm
Distance = hop count
Hops = number of subnets to tranverse to get
from source router to destination subnet
Hops max limited to 15
Routing
Intra-AS routing
RIP – Routing Information Protocol




DV algorithm – neighbors exchange distance
vectors
RIP – distance vector messages are called
RIP advertisements
In RIP – RIP advertisements occur every 30
seconds
Collections of RIP information used for routing
tables at each router
Routing
Intra-AS routing
OSPF – Open Shortest Path First protocol


OSPF successor to RIP
Link-State algorithm
Avoids count-to-infinity problem
Routing
Intra-AS routing
OSPF – Open Shortest Path First protocol

OSPF – floods AS with Link State information –
Called Link State Advertisements (LSAs)


Each router uses LSA to build a complete map
(graph) of the AS
Router then runs Dijkstra’s Shortest Path
algorithm to find shortest to each destination
Routing
Intra-AS routing
OSPF – Open Shortest Path First protocol


AS are organized in to areas
Areas have boundary routers to route from one
area to another (can have more than one inter
area router)
Routing
Border Gateway Protocol – BGP






Exterior Gateway Routing Protocol
Inter- AS routing
DV algorithm, except rather than exchanging
costs…
BGP exchanges complete routes
After all paths come in from neighboring
routers…
BGP router examines them and discards
useless ones…
Routing
Border Gateway Protocol – BGP



OSPF does not consider politics
BGP deals with politics
…through routing policies
Routing
Border Gateway Protocol – BGP



…then scores each possible route from x to y
Scoring function can be anything…
Determined by network administrator
Routing
Border Gateway Protocol – BGP

See
http://en.wikipedia.org/wiki/Bgp
Routing
From: Tanenbaum (2003) pg. 458