5: Routing Flashcards
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).