• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/25

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

25 Cards in this Set

  • Front
  • Back

routing vs switching

In switching packets are transfered from source to destination using MAC address. Switching is done within the network.Whereas Router routes between the network. Routing is a process which is done between two networks using IP addresses.basically routing is a intelligent switching

what do routers do

Routers connect networks together at the network layer and are responsiblefor moving datagrams (routing) from one link to another.

what is the goal of a routing algorithm ?

The goal of a routing algorithm is to figure out a good path, or route,for a datagram to take to get to its destination. By good, we meanan algorithm that will minimize the cost of the overall route. That cost may be eithertime (quickest route) or money (if there are financial costs that differ betweendifferent routes).

connected graph,G = (N, E),

N is the set of nodes (vertices) (routers, in real life) andE is the set of edges (links between the routers in real life).A connected graph is one where, given two nodes a and b, there is some pathfrom a to b.

graph neighbor

A node y is considered to bea neighbor of node x if the edge (x, y) exists in the graph. That is,(x, y) ∈ E.

each edge has what value ?

Each edge has associated with it a value that represents the cost of the link.We represent the cost of an edge between nodes x and y as c(x, y). Ifthere is no edge (x, y) in the graph then the cost c(x, y) is infinite (∞).

c(x, y)

We represent the cost of an edge between nodes x and y as c(x, y). c(x ,y) = c(y, x)

cost of a path

the sum of theedge costs. Since there may be multiple paths from one nodeto another, one or more ofthese will be a least-cost path.If all edges have the same cost, that least-cost path will also be the shortest path.

two types of routing algorithms

global routing algorithm, decentralized routing algorithm

decentralized routing algorithm

no node has complete knowledge of alllinks in the graph. A node initially knows only about its direct links.Through an iterative process of exchanging lists of nodes and costs with itsneighbors, a node will eventually compute the least-cost path to any destination in the graph.The distance-vector (DV) algorithm is an example of a decentralized routing algorithm.

example of decentralized routing algorithm

The distance-vector (DV) algorithm is an example of a decentralized routing algorithm.

global routing algorithm

relies on complete knowledge of the network graph. The algorithm, as input, knowsthe connectivity graph: all the nodes and edges.

examples of global routing algorithm

Dijkstra’s shortest path algorithm is an example of an LS algorithm

global routing algorithm AKA

Algorithms in this category are known as link-state (LS)algorithms.

In an implementation of Dijkstra’s shortest path algorithm, what will each node need to do ?

In an implementation, eachnode will need to broadcast any link change information to every other node so thatall nodes will have an identical and complete view of the network.

the Dijkstra's algorithmstores:

a list of nodes in the graph. for each node, it stores


D(v): the distance, our current knowledge of the least cost path to get to node v.


p(v): the previous node before node v along the least cost path that we have so far.

how to iterate through ijkstra's algorithm

see drive

what happens in an environment where link costs vary to reflect the current traffic volume on the link?

the lowest-cost paths will favor uncongested links.

Oscillations

When the algorithm is re-run (after finding lowest cost link), lowest-cost routes will now be recomputed to be the formerly high-costroutes since we channeled traffic away from them. As the new routing table is used, we will seethe same phenomenon happen again as traffic is shifted to what used to be low-volume links.This results in oscillations between network routes each time the LS algorithm is re-run.The best approach to avoiding these oscillations is to have routers run their LS algorithm atrandom times rather than all at the same time.

how to best avoid oscillations

The best approach to avoiding these oscillations is to have routers run their LS algorithm atrandom times rather than all at the same time.

distance vector

A node n’s distance vector is a list of costs from n that each other node in the graph.Unknown costs are infinity. Each cost is considered to be an estimate as it may be based onincomplete data. Eventually, the algorithm converges and the costs become true least-cost values.In the DV algorithm, a node sends its distance vector to its neighboring nodes.

In the DV algorithm, who does each node communicate with ?

In the DV algorithm, a node sends its distance vector to its neighboring nodes.

distance vector table

A node also keeps a distance vector table. This is a set of distance vectors that it has receivedfrom its neighbors. These distance vectors are used to allow a node to check whether it is moreefficient to have a route that goes through a specific neighbor, m, than the node it currentlythinks is the next hop on the shortest path.

in the distance vector algorithm what does each node keep ?

a distance vector and a distance vector table.

how to do Distance Vector algorithm

all the nodes have a list (distance vector) of potential distances to other nodes. (a list of [node,distance] tuples).


when node receives a new distance vector from a neighbor, add the distance from the neighbor to the current node and add that to the distance for each node in the new nodes distance vector. if that value is smaller than what is in the current (node, distance) tuple, replace it with new number.