CS 453 Computer Networks Lecture 24 IP Routing. See… .

35
CS 453 CS 453 Computer Networks Computer Networks Lecture 24 Lecture 24 IP Routing IP Routing

Transcript of CS 453 Computer Networks Lecture 24 IP Routing. See… .

CS 453CS 453Computer NetworksComputer Networks

Lecture 24Lecture 24

IP RoutingIP 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 BBut A and B don’t know how to do this…so in reality the packets and message are navigated through the network……by the networkThis 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

AB

How to get from A to B?

Routing

It can get very complex How many routes Which one to use

AB

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 waysHops, 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,…

RoutingDistance 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 neighborsMeasures the cost/delay to discovered neighborsFloods network with information about every node it can reach (LSA)Constructs a topology map with this informationCalculates 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

Carrier Y

125 ms latency

100 ms latencyA C

B D

10 ms latency 5 ms latency

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 routingRIP – 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