Repository navigation
Expand file tree
/
Copy pathquestions.csv
More file actions
We can make this file beautiful and searchable if this error is corrected: Any value after quoted field isn't allowed in line 3.
35 lines (35 loc) · 34.8 KB
/
Copy pathquestions.csv
File metadata and controls
35 lines (35 loc) · 34.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"question_id","topics","question","answer","rubric"
"BASICS-0","Transmission Delay; Bandwidth","What is the transmission delay when [NAME] transmits a 1300B packet over a 40Mbps link with a 10ms one way delay?","260 microseconds","Two points: (1) Correct numeric value, (2) correct units"
"BASICS-1","Communications Media; Velocity Factor; Propagation Delay","Define the term velocity factor. Why is it relevant to communications networks?","Velocity factor is the ratio of the speed at which a signal moves through a communications medium relative to the speed of light. Velocity factors are important in networking because they determine the propagation delay, and therefore ultimately influences how fast a message can be received.. A medium with a high velocity factor transmits data near the speed of light, while a medium with a lower velocity factor will transmit a signal more slowly.","2 points total: (1) Correct definition, (1) Some explanation or thesis statement that connects velocity factor to how fast messages are received."
"BASICS-2","Communications Media","Identify four communications mediums: two may be computer communications, but two should be for other types of communication!","A few examples from class: copper, fiber optics, radio waves, air vibrations/sound, great wall of china, the mail, quipu","2 points total: 0.75 for each correct answer, 0.5 for no additional incorrect answers; correct answers may not be on the list and that is okay. Label incorrect answers."
"BASICS-3","Propagation Delay;Transmission Delay;RTT","What is the following an example of: the amount of time it takes for an electrical charge to travel from one router to the next? (a) Propagation delay, (b) Transmission delay, (c) Round trip time, (d) Velocity factor","(a) Propagation delay","1 point: correct choice only. No partial credit. If they answer transmission delay, note that they may be confusing the time to push bits onto the link with the time for a signal to traverse it."
"BASICS-4","Data Encoding;Communications Media","What is the following an example of: ASCII format? (a) Communications medium, (b) Data encoding, (c) Packet, (d) Bandwidth","(b) Data encoding","1 point: correct choice only. No partial credit."
"BASICS-5","Throughput;Bandwidth","What is the following an example of: [NAME1] sends a 40MB file to [NAME2] in 32 seconds, and then calculates a value of 40MB / 32 seconds? (a) Bandwidth, (b) Velocity factor, (c) Throughput, (d) Transmission delay","(c) Throughput","1 point: correct choice only. No partial credit. If they answer bandwidth, note that bandwidth is the capacity of the link, while this is a measured rate actually achieved for a transfer."
"BASICS-6","Velocity Factor;Communications Media","What is the following an example of: 80% of the speed of light, for certain coaxial cable media? (a) Speed of light, (b) Propagation delay, (c) Bandwidth, (d) Velocity factor","(d) Velocity factor","1 point: correct choice only. No partial credit."
"BASICS-7","Communications Media","What is the following an example of: radio waves? (a) Data encoding, (b) Communications medium, (c) Internetwork, (d) Packet","(b) Communications medium","1 point: correct choice only. No partial credit."
"BASICS-8","Transmission Delay","What is the following an example of: the amount of time it takes a morse code operator to type out a word? (a) Transmission delay, (b) Propagation delay, (c) End to end delay, (d) Throughput","(a) Transmission delay","1 point: correct choice only. No partial credit. If they answer propagation delay, note that the operator is the sender pushing the message out, not the signal travelling down the wire."
"BASICS-9","Bandwidth;Pipe Model","What is the following an example of: the “width” of the pipe in the pipe model? (a) Propagation delay, (b) Bandwidth, (c) End to end delay, (d) Velocity factor","(b) Bandwidth","1 point: correct choice only. No partial credit."
"BASICS-10","Propagation Delay;Pipe Model","What is the following an example of: the “length” of the pipe in the pipe model? (a) Bandwidth, (b) Transmission delay, (c) Propagation delay, (d) Velocity factor","(c) Propagation delay","1 point: correct choice only. No partial credit."
"BASICS-11","End to End Delay","What is the following an example of: the amount of time from when the first bit of a message is transmitted to when the last bit of the message is received? (a) Round trip time, (b) Propagation delay, (c) Transmission delay, (d) End to end delay","(d) End to end delay","1 point: correct choice only. No partial credit. If they answer round trip time, note that nothing is coming back here — the message only travels one direction."
"BASICS-12","Bandwidth;Communications Media","What is the following an example of: 252 Tbps for the Grace Hopper inter-continental cable? (a) Bandwidth, (b) Throughput, (c) Velocity factor, (d) Speed of light","(a) Bandwidth","1 point: correct choice only. No partial credit. If they answer throughput, note that this is the rated capacity of the cable, not a rate measured on an actual transfer."
"BASICS-13","Propagation Delay;Speed of Light","What is the following an example of: about 1.3 seconds to the Moon? (a) Transmission delay, (b) Propagation delay, (c) Round trip time, (d) End to end delay","(b) Propagation delay","1 point: correct choice only. No partial credit. If they answer round trip time, note that 1.3 seconds is the one way figure; the round trip would be about 2.6 seconds."
"BASICS-14","RTT","What is the following an example of: the amount of time between when [NAME1] starts sending a packet to [NAME2], to when [NAME1] receives the last bit of an acknowledgement or response back from [NAME2]? (a) End to end delay, (b) Propagation delay, (c) Round trip time, (d) Transmission delay","(c) Round trip time","1 point: correct choice only. No partial credit. If they answer end to end delay, note that end to end delay covers one direction only, while this measure includes the return trip."
"BASICS-15","Propagation Delay; Bandwidth","You are developing a new competitor to Zoom and Google Meet. Would you rather your clients access your service over a 400Mbps connection with a 400ms RTT to your servers, or a 50Mbps connection with a 50ms RTT to your servers? Why?","The 50Mbps/50ms link would be preferred because of the lower RTT. A 400ms RTT means roughly 200ms of delay in each direction, which is far past the point where people notice lag in a conversation and find it frustrating; a 50ms RTT is short enough that the exchange still feels immediate. Both 50Mbps and 400Mbps are sufficient for video transmission, so the difference in bandwidth is less important.","4 points: (1) Correctly states that the 50Mbps/50ms is preferred. (1) States at least one thing that is true about bandwidth or latency. (1) Explains or illustrates via example that delay impacts lag in conversation. (1) Identifies that the 400ms RTT would be frustrating or annoying for users but 50ms would not. No extra points, but call out as an excellent answer if the student also explains that the bandwidth for this question is reasonable for conferencing in either scenario."
"BASICS-16","Bandwidth","A scientific team has collected 32TB of video data recording animal movements in the Amazon rainforest. A junior scientist, [NAME1], starts batching the data for upload to their servers at Carnegie Mellon over their 200Mbps upload Starlink connection in the rainforest, but another scientist, [NAME2], offers to carry the drives with them personally on their flight back home to Pittsburgh which will get the drives there the day after tomorrow. Which approach delivers the data faster and why?","The 32TB of data would take 14.8 days to upload at best over a 200Mbps connection. On the other hand, the trip would only take two days.","2 points: (1 pt) Identifies that the flight would be faster, (1 pt) Correctly calculates that the upload would take 14+ days."
"BASICS-17","End to End Delay;Transmission Delay;Propagation Delay","[NAME1] is sending [V] MB of data to [NAME2] through an intermediate switch [NAME3]. The link between [NAME1] and [NAME3] has [D1] ms of propagation delay and a bandwidth of [B1] Mbps. The link between [NAME3] and [NAME2] has [D2] ms of propagation delay and a bandwidth of [B2] Mbps. Assume there is no other traffic competing for either link. How long does it take, from the moment [NAME1] starts sending, for all of the data to arrive at [NAME2]?","V MB / B1 Mbps + D1 ms + V MB / B2 Mbps + D2 ms — the transmission delay onto the first link, plus that link's propagation delay, plus the transmission delay onto the second link, plus that link's propagation delay.","4 points: (1) transmission delay term for link 1 (V/B1), (1) propagation delay term for link 1 (D1), (1) transmission delay term for link 2 (V/B2), (1) propagation delay term for link 2 (D2). Correct units required on each term to earn its point. If the student omits the second transmission delay (treats the switch as forwarding bits as they arrive rather than store-and-forward), note the distinction and cap at partial."
"BASICS-18","Queuing Delay;Transmission Delay","A [P] Byte packet arrives at a switch and joins a queue behind [N] other packets, each also [P] Bytes, that are already waiting to be sent out on the same egress link. The egress link has a bandwidth of [B] Mbps. The switch sends queued packets one at a time, in the order they arrived, and there is no other delay to account for besides transmission delay. How long will the newly arrived packet wait in the queue before the switch starts transmitting it?","N * (P Bytes / B Mbps) — the new packet must wait for the switch to finish transmitting each of the N packets ahead of it onto the egress link before its own transmission can begin.","2 points: (1) recognizes that queuing delay equals N times the transmission delay of one packet, (1) correct numeric computation with correct units. Partial credit if the student correctly computes the transmission delay of a single packet but forgets to multiply by N, or multiplies by N+1 (mistakenly including the new packet's own transmission delay as part of its wait)."
"BASICS-19","Packet Loss;Bandwidth","Packets destined for one egress link arrive at a switch at a combined rate of [X] Mbps, but the capacity of that egress link is only [Y] Mbps, where [Y] is less than [X]. The switch has no buffering available to absorb the difference (or its buffer is already full), so any traffic it cannot forward immediately is dropped. In steady state, what fraction of the arriving packets will be lost?","1 - (Y / X) — equivalently (X - Y) / X. The link can only carry Y Mbps out of every X Mbps that arrives, so the remaining (X - Y) Mbps must be dropped.","2 points: (1) correct approach (loss rate = 1 - Y/X, or equivalently (X-Y)/X), (1) correct value expressed as a fraction or percentage of the offered load. Partial credit for computing (X - Y) as a raw rate in Mbps without expressing it as a fraction of X."
"BASICS-20","Packet Header Overhead;Transmission Delay;MTU","Your network currently uses a maximum packet size (MTU) of 1500 Bytes: 1400 Bytes of that is data, and the remaining [X] Bytes (where [X] is less than 200) is header overhead. You decide to change the MTU to 1000 Bytes, keeping the header size at [X] Bytes, so now 1000 minus [X] Bytes of each packet is data. Bandwidth is unchanged. (a) Will the transmission delay of a single packet go up, down, or stay the same after this change? (b) Will the total time to transmit a [Z] MB file (where [Z] is at least 20) go up, down, or stay the same after this change?","(a) Down — a 1000 Byte packet is smaller than a 1500 Byte packet, so pushing it onto the link takes less time. (b) Up — the file must now be split into more, smaller packets to carry the same amount of data, and each of those packets spends [X] Bytes on header rather than payload, so more total header overhead is transmitted for the same file, increasing the overall transmission time.","4 points total: (2) part (a) — answer 'down' with reasoning that per-packet transmission delay scales with packet size; (2) part (b) — answer 'up' with reasoning that a smaller MTU means more packets for the same file and therefore more cumulative header overhead. No credit on either sub-part for the correct up/down/same answer without the accompanying reasoning."
"BASICS-21","End to End Delay;Transmission Delay;Propagation Delay;Store and Forward","[NAME1] sends [NAME2] two consecutive [P] Byte packets through an intermediate switch [NAME3]. The link between [NAME1] and [NAME3] has [D1] ms of propagation delay and a bandwidth of [B1] Kbps. The link between [NAME3] and [NAME2] has [D2] ms of propagation delay and a bandwidth of [B2] Kbps, where [B2] is greater than [B1]. The switch is store-and-forward, and there is no other traffic competing for either link. How long does it take, from the moment [NAME1] starts sending the first packet, for [NAME2] to receive both packets?","2 * (P Bytes / B1 Kbps) + D1 ms + (P Bytes / B2 Kbps) + D2 ms. [NAME1] pushes both packets onto the first link back to back, which is two transmission delays, and the second packet then propagates to the switch in D1 ms. Because the second link is faster than the first, the switch has already finished forwarding the first packet by the time the second one fully arrives, so the second packet incurs only its own transmission delay plus D2 ms of propagation delay.","5 points: (1) two transmission delay terms on link 1, (1) propagation delay term for link 1, (1) exactly one transmission delay term on link 2, (1) propagation delay term for link 2, (1) correct final value with units. If the student adds a second transmission delay on link 2, note that the faster egress link has already cleared the first packet, so there is no queuing. If the student omits the link 2 transmission delay entirely, note that a store-and-forward switch must receive the whole packet before it begins sending."
"BASICS-22","Spanning Tree Protocol;Learning Switches;Switching;Flooding","Five switches with IDs 0 through 4 are connected by the following links: (0,1), (0,2), (0,4), (1,2), (1,3), (1,4), (2,3), (2,4), (3,4). The network runs the Spanning Tree Protocol with learning switches. (a) Which links are kept in the spanning tree? (b) From node [Q1]'s perspective, which of its links are blocked? (c) From node [Q2]'s perspective, which of its links are blocked? (d) Assume every forwarding table starts empty. The following transmissions occur in this order, one after another. For each one, list the nodes that receive the packet. (I) Node 0 to Node 3. (II) Node 3 to Node 4. (III) Node 3 to Node 1. (IV) Node 4 to Node 3.","(a) (0,1), (0,2), (0,4), (1,3). Node 0 wins the root election because it has the lowest ID, so its neighbors 1, 2, and 4 attach directly to it. Node 3 is not adjacent to the root and is two hops away via 1, 2, or 4, so it breaks the tie by taking the lowest-ID neighbor, 1, as its parent. (b) For node 3: (3,4) and (3,2). (c) For node 4: (4,1) and (4,2). (d) (I) 1, 2, 3, 4 — no table has an entry for 3, so the packet floods across the whole tree, and every switch learns the port toward 0. (II) 0, 1, 2, 4 — node 1 has no entry for 4 and floods toward 0, which also has no entry for 4 and floods to 2 and 4; nodes 1 and 0 learn the port toward 3 along the way. (III) 1 — node 1 learned where 3 is during step II, and node 1 is itself the destination, so nothing is forwarded further. (IV) 0, 1, 3 — node 0 learned in step II that 3 is reachable via 1, so it forwards only to 1, which forwards only to 3.","13 points total. Parts (a)-(c), 5 points: (2) part (a), all four tree links correct and no extras, (1) part (a) reasoning identifies node 0 as root by lowest ID, (1) part (b) both blocked links, (1) part (c) both blocked links. If the student elects a different root, note that STP elects the lowest ID and grade the rest of the question consistently with their chosen root. Part (d), 8 points: (2) per sub-part, awarded as (1) correct set of receiving nodes and (1) correct justification for why the packet was flooded or unicast. Grade the sub-parts in order: if an earlier sub-part is wrong, grade later sub-parts consistently with the forwarding tables the student's own earlier answer would have produced. If a student floods out the incoming port, note that a switch never sends a frame back the way it came."
"BASICS-23","Ethernet;Exponential Backoff;Collisions","[NAME1] and [NAME2] both attempt to transmit a [F] Byte frame to [NAME3] at the same time. Their first attempt fails because the frames collide, and both back off. [NAME2] happens to pick a shorter backoff than [NAME1], so [NAME2] wins the race and transmits successfully to [NAME3]. Immediately after that successful transmission, [NAME1] and [NAME2] both attempt to transmit to [NAME3] at the same time again, and collide. What is the probability that [NAME2] wins this second backoff race?","0.625. After the first collision both stations draw k from {0, 1}. [NAME2] then transmits successfully, which resets its collision counter, so after the second collision [NAME2] draws k from {0, 1} again while [NAME1], now on its second consecutive collision, draws k from {0, 1, 2, 3}. That gives 2 x 4 = 8 equally likely outcomes. [NAME2] wins when its k is strictly smaller: k = 0 beats 1, 2, or 3 (3 outcomes), and k = 1 beats 2 or 3 (2 outcomes), for 5 of 8.","4 points: (1) recognizes that a successful transmission resets the collision counter, so [NAME2] draws from {0, 1} while [NAME1] draws from {0, 1, 2, 3}, (1) identifies 8 equally likely outcomes, (1) counts the 5 outcomes where [NAME2] draws strictly smaller, (1) correct final probability. The frame size is not needed. If a student answers 0.875, they counted ties as wins; note that equal k values produce another collision, not a win."
"BASICS-24","Distance Vector Routing;Poison Reverse;Split Horizon;Count to Infinity","Three routers A, B, and C run distance vector routing over the following links: (A,B) with cost 1, (A,C) with cost 2, and (B,C) with cost 5. (a) Without poison reverse, fill out the final distance table at each node after the algorithm converges: for every destination, give the cost of reaching it through each neighbor. (b) Repeat part (a) with poison reverse enabled. (c) Draw or describe a network topology where split horizon/poison reverse does not help with the count to infinity problem. What could help mitigate the problem?","(a) Node A: to B via B = 1, via C = 5; to C via B = 4, via C = 2. Node B: to A via A = 1, via C = 7; to C via A = 3, via C = 5. Node C: to A via A = 2, via B = 6; to B via A = 3, via B = 5. Each entry is the link cost to that neighbor plus the neighbor's advertised best cost to the destination. Note that B's best route to C (cost 3) and C's best route to B (cost 3) both go through A rather than over the direct (B,C) link. (b) Node A: to B via B = 1, via C = infinity; to C via B = infinity, via C = 2. Nodes B and C are unchanged from part (a). B routes to C through A, so B advertises its cost to C as infinity back to A; likewise C routes to B through A, so C advertises its cost to B as infinity back to A. A's routes to B and C use the direct links, so A has nothing to poison toward B or C. (c) Take a triangle A, B, C with every link cost 1, and a fourth node D attached only to A with cost 1. If link (A,D) fails, A loses its route to D, but before A's update reaches C, C still holds a route to D via A with cost 2 and advertises it to B (C did not learn that route from B, so split horizon does not suppress it). B now believes it can reach D via C at cost 3 and advertises that to A; A adopts D via B at cost 4 and advertises that to C; and the bad route keeps circulating around the loop with an ever-increasing cost. Split horizon and poison reverse only prevent loops between two neighbors, not loops of three or more nodes. Mitigations: hold down timers (after a destination becomes unreachable, ignore new routes to it for a period of time) and a maximum path length (treat any cost above a small limit as infinity, e.g. 16 in RIP, so the counting stops quickly).","10 points total. Part (a), 4 points: (1) per node, that node's table fully correct, (1) recognizes that B's best route to C and C's best route to B both go through A. Part (b), 3 points: (2) A's two poisoned entries (to B via C and to C via B) set to infinity, (1) states that B's and C's tables are unchanged, with reasoning that a node only poisons a route toward the neighbor it uses as the next hop for that route. Part (c), 3 points: (2) a valid topology containing a loop of at least three nodes, with an explanation of how the bad route circulates, (1) at least one valid mitigation (hold down timers or maximum path length). If the student poisons entries in B's or C's table, note that A's best routes to B and C are the direct links, so A has nothing to poison toward B or C. If the student's topology in (c) only involves a two-node loop, note that poison reverse already handles that case."
"BASICS-25","Link State Routing;Dijkstra's Algorithm;Shortest Path","Seven routers A through G are connected by the following links, with the given costs: (A,B) 2, (A,C) 1, (A,D) 3, (B,E) 1, (C,D) 4, (C,E) 8, (C,F) 9, (D,E) 2, (E,G) 4, (F,G) 5. Using Dijkstra's algorithm with A as the source, trace the algorithm: at each step, give the node added to the confirmed set and the updated tentative distances to the nodes not yet confirmed. Break ties by choosing the alphabetically smallest node. In what order are nodes added to the set, and what is the final shortest distance from A to every node?","Order added: A, C, B, D, E, G, F. Final distances from A: B = 2, C = 1, D = 3, E = 3, F = 10, G = 7. Trace: start with A = 0 and every other node at infinity. Add A (0): B = 2, C = 1, D = 3. Add C (1): D stays 3 (1 + 4 = 5 is worse), E = 9 via C, F = 10 via C. Add B (2): E = 3 via B (2 + 1). D and E are now tied at 3, so D is chosen first by the tie-break. Add D (3): E stays 3 (3 + 2 = 5 is worse). Add E (3): G = 7 via E, F stays 10. Add G (7): F stays 10 (7 + 5 = 12 is worse). Add F (10). Shortest paths: B via A-B, C via A-C, D via A-D, E via A-B-E, F via A-C-F, G via A-B-E-G.","8 points total: (2) correct order in which nodes are added to the set, (1) updates E from 9 to 3 after B is added, (1) keeps D at 3 rather than updating it to 5 through C, (1) keeps F at 10 rather than updating it to 12 through G, (3) all six final distances correct (2 points for 4-5 correct, 1 point for 2-3 correct). If the student adds E before D, accept it if they state a different tie-break rule; the final distances are the same either way. If the student adds a node while another unconfirmed node has a smaller tentative distance, note that Dijkstra's algorithm always adds the unconfirmed node with the smallest tentative distance."
"BASICS-26","Longest Prefix Match;Routing Tables;CIDR","Consider this routing table: 128.96.170.0/23 -> Interface 0; 128.96.168.0/23 -> Interface 1; 128.96.164.0/22 -> R2; 128.96.166.0/23 -> R3; default -> R4. For each destination, identify the next hop selected by longest-prefix matching: (a) 128.96.171.92, (b) 128.96.167.151, (c) 128.96.163.151, (d) 128.96.169.192, and (e) 128.96.165.121.","(a) Interface 0: 128.96.171.92 matches 128.96.170.0/23. (b) R3: 128.96.167.151 matches both 128.96.164.0/22 and 128.96.166.0/23, and the /23 is longer. (c) R4: 128.96.163.151 matches none of the listed prefixes, so the default route applies. (d) Interface 1: 128.96.169.192 matches 128.96.168.0/23. (e) R2: 128.96.165.121 matches 128.96.164.0/22.","10 points total, 2 per destination: (1) correct next hop and (1) correct matching explanation. For (b), the explanation must identify both matching routes and choose R3 because /23 is the longer prefix. For (c), the explanation must state that no listed prefix matches and the default route is used. Award partial credit independently for each destination."
"BASICS-27","Subnetting;CIDR;Longest Prefix Match","You have the address block 172.16.0.0/16 and need five non-overlapping subnets: A for 1000 hosts, B for 500 hosts, C for 250 hosts, D for 100 hosts, and E for 50 hosts. For this problem, every address in a subnet may be used as a host address; do not reserve network or broadcast addresses. You do not plan to add hosts to A-E and want to preserve as much address space as possible for future subnets. (a) Describe how to choose the subnet size for each requirement. (b) Give the smallest prefix length and dotted-decimal subnet mask for A-E. (c) How many addresses in the original /16 remain unallocated after A-E are fully allocated? (d) You want a catch-all subnet G to use every address in the /16 that is not claimed by the more-specific A-E routes. What routing prefix can G use?","(a) Use variable-length subnetting/CIDR. For each subnet, choose the smallest power-of-two address block that is at least as large as its host requirement, and assign non-overlapping prefixes. (b) A: /22, 255.255.252.0, 1024 addresses. B: /23, 255.255.254.0, 512 addresses. C: /24, 255.255.255.0, 256 addresses. D: /25, 255.255.255.128, 128 addresses. E: /26, 255.255.255.192, 64 addresses. (c) 2^16 - 2^10 - 2^9 - 2^8 - 2^7 - 2^6 = 65,536 - 1,984 = 63,552 addresses. (d) G can use 172.16.0.0/16 as a catch-all route. Longest-prefix matching sends addresses covered by A-E to their more-specific routes and all other addresses in the block to G.","12 points total. Part (a), 2 points: (1) chooses the smallest power-of-two block at least as large as each requirement, (1) uses non-overlapping variable-length prefixes. Part (b), 5 points: 1 point for each correct prefix length and equivalent mask: A /22, B /23, C /24, D /25, E /26. Part (c), 3 points: (1) starts with 65,536 addresses, (1) subtracts 1024 + 512 + 256 + 128 + 64, (1) gets 63,552. Part (d), 2 points: (1) gives 172.16.0.0/16, (1) explains that the more-specific A-E routes win under longest-prefix matching. Do not require concrete starting addresses for A-E because the question asks only for sizes and masks."
"BASICS-28","BGP;Gao-Rexford;Routing Policy;Route Export","Consider ASes A-H running BGP under Gao-Rexford route-selection and export policies. A provider-to-customer relationship is written provider -> customer. The provider-to-customer links are G -> A, G -> F, H -> F, H -> E, F -> C, E -> D, C -> B, and B -> A. The peer links are F <-> E and C <-> D. (a) What path does C take to reach A? (b) To which neighbors does C export this route? (c) What path does F take to reach A? (d) To which neighbors does F export this route? (e) What path does D take to reach A? (f) To which neighbors does D export this route?","(a) C -> B -> A. C learns this route from its customer B. (b) C exports the route to F and D. It may also advertise it back to B, but that advertisement is redundant and B rejects it because its own AS is already in the path. (c) F -> C -> B -> A. F prefers the customer-learned route through C over provider-learned alternatives. (d) F exports the route to G, H, and E. Advertising it back to C is optional/redundant and C rejects it because of the AS-path loop. (e) D -> C -> B -> A. D prefers the peer-learned route through C over a provider-learned route through E. (f) D exports the peer-learned route only to customers; D has no customers, so it exports the route to no neighbors.","12 points total, 2 per part. (a) correct path C -> B -> A and identifies B as C's customer. (b) identifies F and D; do not deduct for also naming B if the student notes that sending it back is redundant or rejected by AS-path loop detection. (c) correct path F -> C -> B -> A and explains that a customer-learned route is preferred. (d) identifies G, H, and E; do not deduct for also naming C if the student treats the return advertisement as optional/redundant. (e) correct path D -> C -> B -> A and explains that a peer-learned route is preferred over a provider-learned route. (f) says no neighbors and explains that a peer-learned route is exported only to customers, while D has none. Award 1 of 2 points on a part for the correct path or neighbor set without the policy explanation."
"BASICS-29","Bandwidth Delay Product;Sliding Window;Routing;Bottleneck Bandwidth;TCP;Flow Control;Congestion Control","Four routers have only these bidirectional links, listed as (bandwidth, one-way propagation delay): A-B (4 Gbps, 2 ms), B-D (8 Gbps, 4 ms), A-C (10 Gbps, 5 ms), C-D (6 Gbps, 3 ms). A sends to D. Assume ACKs follow the reverse path, no competing traffic, and negligible transmission, processing, and queuing delays when calculating RTT. Use decimal units (1 MB = 10^6 bytes). For each policy, (i) lowest total latency and (ii) highest bottleneck bandwidth, give the chosen path, bottleneck bandwidth, RTT, and bandwidth-delay product in MB. Treat the BDP as the ideal in-flight window that fills the path without a standing queue. Then, for each chosen path, assume the current congestion window equals its BDP and the advertised receive window is 9 MB. What is the maximum total unacknowledged data permitted, and which window limits it? Equating the congestion window to BDP is an assumption of this exercise.","(i) A-B-D: bottleneck min(4,8) = 4 Gbps; RTT = 2*(2+4) = 12 ms; BDP = 4*0.012/8 GB = 6 MB. (ii) A-C-D: bottleneck min(10,6) = 6 Gbps; RTT = 2*(5+3) = 16 ms; BDP = 6*0.016/8 GB = 12 MB. With rwnd = 9 MB and the assumed cwnd = BDP, min(cwnd,rwnd) permits 6 MB on A-B-D (congestion-window limited) and 9 MB on A-C-D (receive-window limited). BDP is an ideal no-queue sizing target, not a universal upper bound on TCP Reno cwnd.","12 points: for each policy, one each for chosen path, bottleneck bandwidth, RTT with units, BDP with units, permitted unacknowledged data with units, and limiting window. Right requires all elements; partial for a correct central approach with omissions or errors; wrong if both path selection and window sizing are fundamentally incorrect. Accept equivalent units."
"BASICS-30","Bandwidth Delay Product;Throughput;Bottleneck Bandwidth","Two long-lived flows share a single 8 Gbps bottleneck equally. All other links are faster and no queuing delay occurs. Flow 1 crosses links with one-way propagation delays of 2 ms, 4 ms, and 4 ms. Flow 2 crosses links with delays of 6 ms, 4 ms, and 5 ms. ACKs take the reverse paths; ignore other RTT components. (a) Calculate each flow's throughput, RTT, and BDP in decimal MB. (b) Instead of equal bandwidth shares, assign equal BDPs to the two flows while still fully utilizing the same 8 Gbps bottleneck. Keep both RTTs unchanged. Calculate each new throughput and their common BDP. In both parts, a flow's BDP means its allocated throughput times its RTT; the sharing policies are imposed assumptions.","(a) Each flow gets 4 Gbps. Flow 1 RTT = 2*(2+4+4) = 20 ms and BDP = 4 Gbps*20 ms = 80 Mb = 10 MB. Flow 2 RTT = 2*(6+4+5) = 30 ms and BDP = 120 Mb = 15 MB. (b) Let Flow 1 receive x Gbps. Equal BDPs require 20x = 30(8-x), so Flow 1 gets 4.8 Gbps and Flow 2 gets 3.2 Gbps. Each has BDP 96 Mb = 12 MB.","9 points: part (a), one each for both throughputs, both RTTs, and both BDPs; part (b), one each for both throughputs and the common BDP. Right requires all numeric answers with correct units; partial for a correct sharing or BDP approach with errors or omissions; wrong if neither is understood. Accept equivalent units and reasonable rounding. No prose explanation is required."
"BASICS-31","Bandwidth Delay Product;Throughput;RTT","Flow X has a BDP of 12 MB and an RTT of 40 ms. Flow Y has a BDP of 8 MB and an RTT of 20 ms. Here BDP means achieved throughput multiplied by RTT, and MB is decimal. Which flow has higher throughput? Calculate both throughputs in Gbps and explain whether a larger BDP necessarily implies higher throughput.","Flow Y has higher throughput: X = 12*10^6*8/0.040 = 2.4 Gbps; Y = 8*10^6*8/0.020 = 3.2 Gbps. A larger BDP does not necessarily mean higher throughput, because BDP also grows with RTT. Throughput is BDP/RTT, so X's larger RTT more than offsets its larger BDP.","4 points: one per throughput with correct units, one for selecting Y, and one for explaining that RTT also affects BDP and hence a larger BDP need not imply higher throughput. Partial for a correct central idea with a missing calculation or explanation; wrong for asserting that larger BDP guarantees higher throughput. Writing structure does not affect the content grade."
"BASICS-32","TCP;Loss Recovery;Fast Retransmit;Cumulative ACKs","A TCP sender transmits a segment at t = 0 and it is lost. The RTT is 12 ms. Three later segments are transmitted at t = 3, 6, and 9 ms, and each elicits an immediate duplicate cumulative ACK that reaches the sender exactly one RTT after that segment was sent. An ACK with the same acknowledgment number was already received before t = 0, so all three arriving ACKs count as duplicates. The retransmission timer expires at t = 120 ms unless recovery occurs earlier. There are no other losses or recovery mechanisms. When does the lost segment get retransmitted (a) with fast retransmit triggered by three duplicate ACKs and (b) without fast retransmit? (c) In an alternative case, only the segments at t = 3 and 6 ms are sent, producing just two duplicate ACKs. No further data or ACKs arrive before the timer expires. With the same recovery mechanisms and timer deadline, when is the lost segment retransmitted, and why?","(a) Duplicate ACKs arrive at 15, 18, and 21 ms. The third triggers retransmission at t = 21 ms. (b) The sender waits until the timer expires at t = 120 ms. (c) At t = 120 ms. Two duplicate ACKs do not meet the three-duplicate-ACK threshold, so recovery waits for timeout.","4 points: one each for 21 ms in (a), 120 ms in (b), 120 ms in (c), and explaining in (c) that two duplicate ACKs cannot trigger three-duplicate-ACK fast retransmit. Right requires all four elements; partial for some correct timing or mechanism; wrong if neither recovery mechanism is understood. Numeric parts (a)-(b) need no prose. Assess writing separately for the explanation in (c)."
"BASICS-33","TCP;TCP Reno;Mathis Equation;Throughput;RTT","Use the Mathis approximation T = C*MSS/(RTT*sqrt(p)) with MSS = 1200 bytes and C = 1.22. Here p is a fraction and RTT is in seconds, so the formula initially gives bytes per second. Report decimal Mbps. (a) Estimate throughput for RTT 10 ms and loss probability 1%. (b) Estimate throughput for RTT 200 ms and loss probability 0.25%. (c) Starting from scenario (a), what is the new estimate if RTT doubles and loss probability drops to one quarter of its original value? (d) Starting from scenario (a), what is the new estimate if only loss probability drops to one quarter and RTT stays unchanged? Treat these as model estimates; assume no bandwidth or receive-window limit imposes a lower cap.","(a) 1.22*1200/(0.010*sqrt(0.01)) = 1,464,000 B/s = 11.712 Mbps. (b) 1.22*1200/(0.200*sqrt(0.0025)) = 146,400 B/s = 1.1712 Mbps. (c) 11.712 Mbps: doubling RTT halves the estimate, while quartering loss doubles it, so the effects cancel. (d) 23.424 Mbps: quartering loss halves sqrt(p), doubling the estimate.","4 points: one per correct estimate with units, accepting rounding within 1 percent. Right requires all four; partial for some correct estimates or correct substitution or scaling with arithmetic or unit errors; wrong for fundamentally incorrect dependence on both RTT and loss. Numeric answers with units suffice."