summaryrefslogtreecommitdiff
path: root/assignments/2
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-09-28 09:50:15 -0600
committermo khan <mo@mokhan.ca>2025-09-28 09:50:15 -0600
commit5a48efd1e209277cdd570c9ff101692c4d56c808 (patch)
tree1e196e7ed3d444661598fd22ce9de3136011cef0 /assignments/2
parent64fb26332ddc0eaa021210083f4fc3b2eac702b8 (diff)
Add references
Diffstat (limited to 'assignments/2')
-rw-r--r--assignments/2/README.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/assignments/2/README.md b/assignments/2/README.md
index 6884c34..c7a4d32 100644
--- a/assignments/2/README.md
+++ b/assignments/2/README.md
@@ -24,12 +24,16 @@ TCP provides reliable data transfer over IP's best-effort service using:
- Reordering/in-order delivery: Out-of-order segments are buffered and reassembled before delivery to the application.
- Connection management: Three-way handshake establishes state; graceful close ensures all data delivered.
+Reference: Kurose & Ross, 8th ed., Ch. 3 (Transport Layer: TCP services, checksums, reliable data transfer, flow control, fast retransmit/recovery).
+
## 1.2 Go-Back-N Protocol (5%)
> (5%) While the RDT protocols are essentially stop‑and‑wait protocols, the GBN protocol allows the sender to send multiple packets without waiting for acknowledgement from the receiving parties. How does GBN achieve that?
GBN achieves higher throughput than stop-and-wait via a sliding window that allows up to N unacknowledged packets in flight. The sender maintains base (oldest unACKed) and nextseqnum, uses a single timer for the oldest unACKed packet, and the receiver sends cumulative ACKs. On timeout, the sender retransmits from base ("goes back N"). This pipelining avoids per-packet waiting.
+Reference: Kurose & Ross, 8th ed., Ch. 3 (Pipelined reliable data transfer: Go‑Back‑N).
+
## 1.3 IPv6 Transition (5%)
> (5%) Invention and adoption of IPv6 is a big advance in computer networking. What problems was IPv6 intended to solve? With the large number of networking devices and applications using IPv4 still in use, how is the transition from IPv4 to IPv6 being resolved?
@@ -38,6 +42,8 @@ Motivation: Vast address space (no exhaustion), fewer routing entries via hierar
Transition: Dual stack (IPv4+IPv6), tunneling (e.g., 6in4/6to4/Teredo), and translation (NAT64/DNS64) allow coexistence while IPv6 adoption increases.
+Reference: Kurose & Ross, 8th ed., Ch. 4 (The Internet Protocol (IP): IPv4, Addressing, IPv6, and More; transition mechanisms).
+
## 1.4 SNMP Protocol (5%)
> (5%) SNMP is a protocol for network management. It has seven message types. What are the purposes of the SNMP GetRequest and SetRequest messages? Why were UDP datagrams chosen to transport SNMP messages?
@@ -46,6 +52,8 @@ Transition: Dual stack (IPv4+IPv6), tunneling (e.g., 6in4/6to4/Teredo), and tran
- SetRequest: Manager changes configuration parameters on an agent.
- Why UDP: Low overhead and no connection setup; scalable for polling many devices; SNMP defines its own retry/timeout; resilient during control-plane stress when maintaining TCP connections is harder.
+Reference: Kurose & Ross, 8th ed., Ch. 5 (Network management and SNMP).
+
## 1.5 SDN-Enabled Devices (5%)
> (5%) In today’s market and its applications, there are many SDN-enabled networking devices. What are the preferrable features that an SDN-enabled networking device usually has?
@@ -57,6 +65,8 @@ Preferable features:
- Northbound APIs/integration for centralized policy and automation.
- Security via centralized policy (ACLs, microsegmentation).
+Reference: Kurose & Ross, 8th ed., Ch. 5 (SDN control plane, generalized forwarding).
+
## 1.6 BGP Loop Detection (5%)
> (5%) BGP is a routing protocol used for routing among ISPs. One problem that BGP faces is detecting loops in paths. What are the loops? Why should loops be avoided? How does BGP detect the loops in paths?
@@ -65,6 +75,8 @@ Preferable features:
- Avoidance: Loops waste bandwidth, add delay, and cause instability.
- Detection: AS_PATH attribute lists traversed ASes; if a received route’s AS_PATH contains the local AS, discard it. Policies/filters and max-path-length provide additional safeguards.
+Reference: Kurose & Ross, 8th ed., Ch. 5 (Inter-AS routing: BGP; loop prevention via AS_PATH).
+
---
# Part 2: Long Answer Questions (70%)
@@ -98,6 +110,8 @@ c) Receiver detection: Add all bytes including the checksum using 1’s-compleme
d) Error coverage: Detects all single-bit errors and most multi-bit errors. Certain balanced multi-bit patterns can evade detection (so some 2-bit errors may go undetected).
+Reference: Kurose & Ross, 8th ed., Ch. 3 (Internet checksum in UDP/TCP) and Ch. 6 (parity/checksum context at link layer).
+
## 2.2 Dijkstra's Shortest Path Algorithm (20%)
> (20%) The following table is used to compute the shortest path from A to all other nodes in a network, according to the link‑state algorithm, which is better known as Dijkstra’s shortest path algorithm.
@@ -121,6 +135,8 @@ b) Apply Dijkstra from source x (see figure). The following table shows the iter
Final shortest-path costs from x: w=3; u=4 (x->w->u); s=5 (x->s); y=5 (x->y); v=5 (x->w->u->v); t=6 (x->s->t); z=9 (x->s->t->z).
+Reference: Kurose & Ross, 8th ed., Ch. 5 (Routing algorithms: Dijkstra/Link-State).
+
## 2.3 CIDR Routing (20%)
> (20%) A router running classless interdomain routing (CIDR) has the following entries in its routing table:
@@ -144,6 +160,8 @@ Decisions:
- 192.53.40.6 → matches 192.53.40.0/23 (covers 40.0–41.255) → Router 2
- 192.53.56.7 → no match → Default → Router 3
+Reference: Kurose & Ross, 8th ed., Ch. 4 (IP addressing, CIDR, and longest‑prefix matching).
+
## 2.4 TCP Congestion Control (20%)
> (20%) Consider that only a single TCP connection uses a 1 Gbps link, which does not buffer any data. Suppose that this link is the only congested link between the sending and receiving hosts. Assume that the TCP sender has a huge file to send to the receiver and the receiver’s receive buffer is much larger than the congestion window. Further assume that each TCP segment size is 1,500 bytes; the two-way propagation delay of this connection is 15 msec; and this TCP connection is always in the congestion avoidance phase (ignore slow start).
@@ -169,3 +187,15 @@ c) Time to recover to W_max after a loss:
d) Buffer sizing to keep the link busy:
- For a single flow, provision on the order of the BDP to absorb bursts and maintain full utilization despite window dynamics: ≈ 15 Mb ≈ 1.875 MB ≈ ~1,250 MSS-sized segments.
- With many flows, smaller buffers (≈ BDP/sqrt(N)) can suffice, but for N=1, BDP is the safe choice.
+
+Reference: Kurose & Ross, 8th ed., Ch. 3 (TCP congestion control: AIMD, sawtooth behavior; throughput/window relations).
+
+---
+
+# References
+
+- Kurose, J. F., & Ross, K. W. (8th ed.). Computer Networking: A Top‑Down Approach.
+ - Ch. 3 Transport Layer (TCP reliability, checksum, and congestion control)
+ - Ch. 4 Network Layer: Data Plane (IP addressing, IPv6, CIDR, forwarding)
+ - Ch. 5 Network Layer: Control Plane (routing algorithms, BGP, SDN control plane, network management/SNMP)
+ - Ch. 6 Link Layer and LANs (error detection/correction context)