Midterm
(Previous year's midterm solutions: midterm-05.pdf)
Sample Midterm
1. (a) Describe the end-to-end principle.
(b) Give one example in which implementing a particular functionality at
a lower layer breaks this principle, and one example in which it does not.
Explain.
2. (a) What problem does Fair Queueing address?
(b) Describe the Fair Queuing algorithm.
(c) What is the system virtual time and what it is used for?
3. Compare Assured and Premium services. How is each of them implemented
at edge and core routers?
Sample Midterm Solutions
1. (a) Describe the end-to-end principle.
(b) Give one example in which implementing a particular functionality at
a lower layer breaks this principle, and one example in which it does not.
Explain.
Answer: In a system with many layers of functionality, some functionalities
can be implemented at a lower layer only as a performance enhancement and
they must be fully and correctly implemented.
Examples:
Doesn't break e-t-e principle: Link layer reliability in a wireless network.
Another example is the Snoop protocol. Snoop preserves end-to-end semantics;
it sends acks only after the receiver has received the packet. It acts only
as a performance enhancer. Yet, another example is providing QoS. If
a congested router does not have a way to differentiate between packets, it
cannot support delay sensitive applications. (3 pts).
Breaks e-t-e principle: I-TCP breaks the end-to-end semantic. It can send
acknowledgments to the sender even before the receiver has received the packet.
(3 pts)
2. (a) What problem does Fair Queueing address?
(b) Describe the Fair Queuing algorithm.
(c) What is the system virtual time and what it is used for?
(a) Problem being solved: provide isolation between flows, thus protecting
the well-behaved flows against the ill-behaved ones. At the same time it distributes
the bandwidth "fairly" among the flows. In particular, the criteria used
to distribute the bandwidth is max-min fairness. (9 pts)
Description of the Weighted Fair Queueing (WFQ) algorithm: Assume an idealized
fluid flow system, i.e., a system in which flows are served by a bit-by-bit
round-robin scheduler. Let the packet finishing time be the time when the
last bit of the packet is served in the idealized system. Then, in the packet
system, WFQ can be implemented by serving the packets in the increasing order
of their finishing times. (6 pts)
(b) The virtual time represents the service time that a cretinous backlogged
flow with weight 1 would receive in an idealized fluid flow system.
Alternatively, the virtual time V is defined by
dV/dt = C/(\sum_{i \in B(t)} w_i)
where B(t) represents the set of flows that are backlogged in the idealized
system at time t, and w_i represents the weight associated to flow i.
3. Compare Assured and Premium services. How is each of them implemented
at edge and core routers?
Assured service provides one-to-many semantics, while Premium service provides
one-to-one semantics (i.e., virtual lease line). (4 pts)
Assured service guarantees only that the assured traffic is delivered with
a higher probability than the best-effort traffic; in the case of severe network
congestion, the assured traffic can still experience losses. In contrast,
the premium traffic is guranteed. (6 pts)
Ingress routers:
- Assured traffic: use a token bucket to shape the assured traffic. In-profile
packets are marked with the A-bit. Out-of profile packets are un-marked and
treated as best-effort packets.
- Premium traffic: use a token bucket to police the premium traffic. In-profile
packets are marked with the P-bit. Out-of profile packets are enqueued, and
when the buffer overflows, they are dropped.
- Core routers: Maintain two queues: one for the premium traffic, and the
other for the assured and the best-effort traffic. The two queues are served
by using a weighted fair queueing algorithm, or by using strict priorities.
In either case the goal is to ensure that no premium packets are dropped.
For the assured and best-effort traffic, routers use a RIO buffer management
scheme. This ensures that the best-effort packets are always dropped first
in case of congestion.