Routing Algorithms Flashcards

Network Layer

1
Q

What does the term “Routing Algorithm” refer to?

A

Router table construction

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

What are the two classes of algorithms? Define them.

A

Link-State
Routers, by the end, have knowledge of the entire network. Routers exchange information about state of links. Each router uses this information to compute its distances to all destinations.

Distance Vector
Routers only communicate with their immediate neighbours. A router uses the distance vectors received
from its neighbors to compute its own distances. This is done iteratively.

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

What are the main functions of the network layer?

A

Host-to-Host Communication

This includes…
- addressing,
- routing,
- forwarding,
- congestion control,
- admission control.

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

Define Routing

A

Computing the path between source and destination

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

Define Congestion Control

A

Limit on the amount of data a source can send in the network at a given time.

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

Define Admission Control

A

Limits on the number of sources that can send data in the network at a given time.

(part of system-wide congestion control)

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

Define Addressing

A

Identifying where a destination is with respect to the network’s topology

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

Define forwarding

A

Receive, see address, send packets along the path found via “routing”.

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

A distributed routing system must be safe and live… what do those two terms mean?

A

Safe
computing a vaild route within finite time

Live
no deadlocks/ loops

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

What are components of every routing system?

A
  1. Identifier space to denote destinations
  2. A routing metric (distance, link weight, src, des)
  3. Distributed Algorithms and protocols used to compute routes based on the routing metric
  4. Routing tables storing computed values for routes
  5. Algorithm and protocols used to forward packets based on data in routing tables
  6. A mapping from user- or application- friendly names to identifiers used in routes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is necessary for an SRA (shortest-path routing algorithm) to converge?

A

Mustn’t have any loops

If the shortest path to C is
[stuff]→B→C
then the shortest path to B cannot contain C

Each subset of the shortest path must be a shortest path!

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

When is an SRA said to have converged?

A

When the shortest path has been reached at time t, and it does not contain any loops

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

What information is maintained at each router?

A

Distance Table, Link-Cost Table, Routing Table
(to node, from node, cost) + (sequence number)

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

What is the purpose of sequence numbers in DBF (Distributed Bellman Ford)?
Describe how it is used.

A

DBF performs poorly given numerous routers. Sequence numbers let the routers know which data containing the link’s state is newest.

To ensure the newest data gets shared, flood the entire topology. Routes are then computed locally with the new data.

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

Comment on safety and liveliness for DBF for a connected network

A

Liveliness: each node updates its routing table independently of others. Deadlock can only occur in the exchange of distance vectors. (Point-to-Multipoint ARQ handles that)

Safety: Given no deadlocks, algorithm guaranteed to produce valid path in finite time.

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

What is ARQ? Give examples of its implementation.

A

Automatic Repeat reQuest (ARQ) is a protocol used in computer networks to ensure reliable data transmission. It works by using acknowledgments and timeouts to detect and correct errors in data packets.

Examples.
Go-Back-N ARQ: The sender waits for an ACK for each packet before sending the next one.
Stop-and-Wait ARQ: The sender can send several packets before needing an ACK, but if an error is detected, all subsequent packets are retransmitted.
Selective Repeat ARQ: Only the erroneous packets are retransmitted, not the entire sequence.
Point-to-Multipoint ARQ: ARQ specifically for MAC

17
Q

Describe the dissemination of link state updates (LSU) for Link-State Algorithms.

A

Only the router where a LSU originates can update the sequence number

An age is assigned to the LSU, periodically, an LSU will be sent out with LSU age 0 - reset.

HANDLING TOPOLOGY CHANGES
Sharing
A router that detects a new neighbor sends its topology graph to that neighbor.

Informing
A router that hears a more recent LSU from a neighbor for one of its outgoing links creates a new LSU with a higher sequence
number and sends it to all its neighbors

18
Q

Is any distance-vector algorithm subject to temporary loops?

A

No, that problem exists when using path information to find loops.