Routing Flashcards

(37 cards)

1
Q

What is the internet?

A

A web of systems connected via buses and wires

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is routing?

A

A way to determine an end-to-end path through a network

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a forwarding table, and how is it used in routing?

A

A table containing information on the ‘next hop’ for a packet to reach the next destination, used to determine where to send the data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A router may have multiple ports, which are used for…

A

Taking in and sending data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What do routing algorithms determine?

A

A good path through a network from source to destination

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How is a network graph defined? (HINT: Use sets N and E)

A

As an undirected graph of N nodes, each connected by a set of E node-pair edges which define the links between each node. Each edge has a link cost, which is usually the cost of going from one node to another

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is meant by a neighbour in a network graph?

A

An adjacent node to the current one

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does it mean for a routing algorithm to be global?

A

The algorithm knows the complete topology and link cost information of the router’s network

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does it mean for a routing algorithm to be decentralised?

A

The algorithm only knows the router’s physically connected neighbours and their link costs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does it mean for a routing algorithm to be static?

A

Routes change slowly over time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does it mean for a routing algorithm to be dynamic?

A

Routes change quickly over time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does it mean for a routing algorithm to be load sensitive?

A

If it considers traffic in its calculations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does it mean for a routing algorithm to be load insensitive?

A

If it does not consider traffic in its calculations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the primary difference between link state and distance vector algorithms?

A

Link state is global while distance vector is local

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

The Distance Vector (DV) algorithm uses what data structure to estimate cost to some destination?

A

Vectors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

The Link State algorithm uses what other type of algorithm to calculate a path?

A

Shortest path algorithms like Dijkstra’s or A*

17
Q

What is Dijkstra’s algorithm used for?

A

Calculating least-cost paths from one node to all others in a network

18
Q

What type of routing algorithm is Dijkstra’s?

19
Q

What time complexity does Dijkstra’s run in?

20
Q

What are the limitations of link state algorithms in highly dynamic networks?

A

A slow response to changes, large routing tables and frequent link state messages consuming bandwidth

21
Q

What does it mean when we say that the Distance Vector (DV) routing algorithm is distributed?

A

Each node transmits and receives data only to and from its direct neighbours

22
Q

What does it mean when we say that the Distance Vector (DV) routing algorithm is iterative?

A

Continues until no more information is exchanged

23
Q

What does it mean when we say that the Distance Vector (DV) routing algorithm is asynchronous?

A

Doesn’t require all nodes to exchange information at the same time

24
Q

How do Distance Vector (DV) algorithms store routing information?

A

In a routing table

25
What do routing tables store?
Cost between each neighbour, its distance vector (least-cost paths to all nodes in N), and the distance vectors of its neighbours
26
How does Distance Vector (DV) calculate least cost paths?
Each node periodically sends its own distance vector to its neighbours, and when a node receives a new distance vector, it updates its own distance vector using Bellman-Ford
27
If we lose connection to a node, we will reach an infinite distance to that node again, but how is this process inefficient?
The distance vector changes one at a time in a loop, creating infinite updates across all nearby nodes
28
How can we fix the issue caused by nodes disconnecting?
Route poisoning - when a router advertises that failed route as infinite, "poisoning" it, and advertising that value to its neighbours
29
What is the complexity of Bellman-Ford?
O(|N||E|)
30
What is hierarchical routing?
The grouping of routers into clusters, or autonomous systems
31
Why do we use hierarchical routing?
The internet is extremely large, so if each router is treated separately, the routing tables would have to be massive
32
Routers in the same autonomous system (AS) run [the same/different] protocols.
The same
33
Gateway routers that connect autonomous systems (AS) together run [the same/outside/inside and outside] protocols.
Inside and outside
34
Who decides what data is routed through its network?
The admin of the network
35
What is the Routing Information Protocol (RIP)?
A distance vector algorithm where the distance metric is measured as 'hops' - the number of subnets traversed along the shortest path - and we exchange DVs every 30 seconds via advertisement
36
What is the Broader Gateway Protocol (BGP)?
An inter-AS protocol that enables each subnet to obtain information from neighbouring subnets, propagate that information to all internal routers and to determine good routes to subnets based on reachability/policy
37
What is the Open Shortest Path First (OSPF)?
A link state algorithm where routers construct a complete topological map of the entire AS at each node using Dijkstra's, broadcasting link state information whenever there is a change at a link