5: Routing Flashcards
(52 cards)
What is the network layer? What does it do?
The third layer of the reference model that is responsible for packet routing and forwarding in routers. It provides abstracted host-host logical communications.
What is forwarding?
The process by which a datagram is moved from a source device to an output device: 1 hop along a path.
What is routing?
Routing is the process by which a network as a whole determines the paths deciding how packets go from source to destination: forwarding tables are built.
What plane does forwarding happen on?
The data plane
What plane does routing happen on?
The control plane
What is the network control plane?
The part of the router architecture that is concerned with drawing the network topology, or the information in a (possibly augmented) routing table that defines what to do with incoming packets.
How may the network control plane be structured?
With per-router control (traditional) or logically centralised control (software-defined networking).
What is a logically centralised control plane?
A distinct, remote controller interacting with control agents in routers, which interact with each other in the control plane to form forwarding tables.
What is a per-router control plane?
Routing algorithm components in every router, which interact with each other in the control plane to form forwarding tables.
What is a routing protocol?
A protocol specifying how routers in a network communicate, forwarding tables in routers are built, and paths of data between two endpoint nodes are chosen.
What do routing protocols do?
Find optimal paths for data transfer between two endpoint hosts in a network.
What is global and decentralised information?
In networks with global information, all routers know the complete topology and the link cost information. In networks with decentralised information, a router only knows the link costs to its neighbours.
What are static and dynamic routing algorithms?
Static routes change more slowly over time, whereas dynamic routes change more rapidly, often periodically updating in response to link cost changes.
What is Dijkstra’s algorithm?
An algorithm to find the shortest paths between nodes in a graph.
What is the time complexity of Dijkstra’s algorithm?
O(n ^ 2) but it is possible to implement them within O(n * log(n))
How does Dijkstra’s algorithm work?
It finds the costs of going between all adjacent nodes, then the minimum cost of going between all nodes 2 hops apart, then 3, then 4, etc, to build a forwarding table of the minimum cost path between any 2 nodes on the graph.
What is a distance vector?
An array (vector) of diatances to other ndoes in the network from a given node.
What is a Distance vector algorithm?
A routing algorithm that determines the best route between two nodes based on the distances between nodes.
What is the Bellman-Ford equation?
An algorithm to find the shortest path between two nodes on a weighted graph.
How does the Bellman-Ford equation work?
Starting from the node x, and aiming to get to the end node y, choose the neighbour node v with the minimum cost of : cost(x to v) + cost(v to y).
What is the Distance vector algorithm?
An algoirithmfor estimating the minimum cost of going between two nodes
How does the Distance vector algorithm work?
Each node stores its distance estimates to other nodes, and other nodes use its distance estimates to other nodes to estimate their distances to their nodes; for instance, the distance of a node x to get to node z via node y = the distance of x to y + the estimated distance of y to z that y informs x of.
In this manner, it is a recursive algorithm. Estimated costs only update when their neighbours do, and starter changes only change due to changes in a local link. It is distributed that changes only occur when neighbours do, so they propagate.
What are link cost changes?
Changes in the cost for data to be transmitted over a link between two nodes on a network.
What is message complexity?
??