Lesson 6 - Router Design and Algorithms (part 2) Flashcards

1
Q

Why do we need packet classification?

A

Packet forwarding based on the longest prefix matching of destination IP addresses is not enough and we need to handle packets based on multiple criteria (TCP flags, source addresses)

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

Name 3 established variants of packet classification.

A
  1. Firewall
  2. Resource reservation protocols
  3. Routing based on traffic type:
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the simple solutions to the packet classification problem?

A

Linear search - search through rules, keep track of best-match
Cache - cache common rules
Passing Labels

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

How does fast searching using set-pruning tries work?

A

First matches the destination IP address in a packet in the destination trie. Then traverse the corresponding source trie to find the longest prefix match for the source IP.

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

What’s the main problem with the set pruning tries?

A

High memory cost. Because a source prefix can occur in multiple destination tries.

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

Pruning approach vs backtracking approach. What’s the difference?

A

pruning has high memory cost,

backtracking takes more time.

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

What’s the benefit of grid of tries approach?

A

reduce the wasted time in the backtracking by using pointers to next solution.

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

Describe “take the ticket algorithm”.

A

Each input line requests a ticket from an output line. When an input’s ticket is next, the input is allowed to send a packet on the output line.

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

What is head-of-line problem?

A

The entire queue is blocked by the progress of the head of the queue.

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

How to avoid head-of-line problem using knockout scheme?

A

instead of queueing, randomly pick which packets can be sent over an output link. ??

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

How to avoid head-of-line problem using parallel iterative matching?

A
  1. Inputs make request on all needed outputs.
  2. Outputs receiving multiple requests randomly select one to grant access to.
  3. Input’s with multiple grants randomly pick an output to send to.
  4. repeat
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Explain how FIFO with tail drop works.

A
  1. Input links determine which output link a packet is to be sent to by looking up the address.
  2. The switching system places the packet on the appropriate output queue.
  3. If the queue is full, the packet is dropped.
  4. If the packet makes the queue it is served in first-in-first-out order.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the reasons to make scheduling decisions more complex than FIFO?

A

Router support for congestion
Fair sharing of links among competing flows
Providing QoS guarantees to flows
(see Scheduling Introduction)

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

How does bit-by-bit round robin scheduling method work?

A

packets are sent in a round robin manner such that the transmission rate is near equal for all flows.

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

Bit-by-bit round robin provides fairness, but it has a problem. What’s exactly the problem with this method?

A

Bit-by-bit itself is not possible because you would have to split the packets. It is an imaginary model used to consider Packet-level Fair Queuing. Packet-level Fair Queuing - Requires a priority queue implementation, which has time complexity which is logarithmic in the number of flows! Additionally, if a new queue becomes active, all timestamps may have to change – which is an operation with time complexity linear in the number of flows.

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

How does deficit round robin work?

A

A quantum size and deficit counter is incorporated that keeps track of the bandwidth available per flow. For example a deficit round robin with a quantum size of 500 will allow any packet less than or equal to 500 to be sent. For packets less than 500 the remainder is stored in the deficit counter.
(See Deficit Round Robin)

17
Q

What is a token bucket shaping?

A

A bucket is filled with tokens at a rate of R. If the bucket is full then packets are dropped. When a packet arrives, it can go through if there are enough tokens (equal to the size of packet in bits). If not, the packet needs to wait until enough tokens are in the bucket.

18
Q

In traffic scheduling, what is the difference between policing and shaping?

A

Policer: When traffic rate reaches the maximum configured rate, excess traffic is either dropped, or the setting or “marking” of a packet is changed. The output rate appears as a saw-toothed wave.
Shaper: A shaper typically retains excess packets in a queue or a buffer and this excess is scheduled for later transmission. The result is that excess traffic is delayed instead of dropped. Thus, when the data rate is higher than the configured rate, the flow is shaped or smoothed. Traffic shaping and policing can work in tandem.

19
Q

What is leaky bucket? How is it used for traffic policing and shaping?

A

Leaky bucket regulates flow to the network by allowing a constant send rate (shaping). If packet’s overflow the bucket, they’re dropped (policing)

20
Q

Explain Backtracking

A

suggest answer