Lesson 6: Study Guide Flashcards
Why is packet classification needed?
as internet increases, networks require service garauntees for traffic; packet classification allows handling of packets based on criteria
What are three established variants of packet classification?
- Firewalls: Routers implement firewalls at the entry and exit points of the network to filter out unwanted traffic or enforce security policies.
- Resource reservation protocols: DiffServ has been used to reserve bandwidth between a source and a destination.
- Routing based on traffic type: Routing based on the specific type of traffic helps avoid delays for time-sensitive applications.
What are the simple solutions to the packet classification problem?
- Linear Search : Firewall implementations perform a linear search of the rules database, pick best match rule.
- Caching : cache the results so that future searches can run faster.
- Passing Labels : intermediate routers between A and B apply a label header without having to redo packet classification. Used by Multiprotocol Label Switching (MPLS) and DiffServ
How does fast searching using set-pruning tries work?
build a trie on the destination prefixes in the database, and then for every leaf-node at the destination trie to “hang” source tries.
What’s the main problem with the set pruning tries?
memory explosion; a source prefix can occur in multiple destination tries.
What is the difference between the pruning approach and the backtracking approach for packet classification with a trie?
backtracking has high lookup cost (time), but lower memory requirements
What’s the benefit of a grid of tries approach?
reduce the wasted time in the backtracking search by using precomputation of switch pointers that take us directly to the next possible source trie containing a matching rule.
Describe the “Take the Ticket” algorithm.
inside a crossbar switch, a scheduling algorithm, when an input line intends to send a packet to a specific output line, it requests a ticket. input line waits for the ticket to be served, then connects to the output line, the crosspoint is turned on, and the input line sends the packet.
What is the head-of-line problem?
in take the ticket algo, when entire queue is blocked by the progress of the head of the queue.
How is the head-of-line problem avoided using the knockout scheme?
it has the switching fabric running N times faster than the input links by breaking up packets into cells, it is complex
How is the head-of-line problem avoided using parallel iterative matching?
break down the single queue into virtual queues, with one virtual queue per output link. more efficient than take a ticket. 3 phases:
1. request - all inputs send requests in parallel to outputs
2. grant - outputs pick a random request
3. accept - input randomly picks a grant, sends packet
Describe FIFO with tail drop.
packets enter a router on input links, they are then looked up using the address lookup component, switching system places the packet in the corresponding output port. This port is a FIFO (first-in, first-out) queue. If output link buffer is full, incoming packets are dropped. Simple, fast scheduling decisions but potential loss in packets.
What are the reasons for making scheduling decisions more complex than FIFO?
- Router support for congestion
- Fair sharing of links among competing flows
- Providing QoS (quality of service) guarantees to flows
Describe Bit-by-bit Round Robin scheduling.
it is used to avoid packet loss and introduce fairness in servicing different flows. ideally split packet up bit-by-bit, so this stratefy uses an imaginary bit-by-bit system to calculate the packet-finishing time and send a packet as a whole. packet with smallest finishing round number is sent
Bit-by-bit Round Robin provides fairness; what’s the problem with this method?
time complexity is hard to implement with increased number of flows