summaryrefslogtreecommitdiff
path: root/comp347
diff options
context:
space:
mode:
Diffstat (limited to 'comp347')
-rw-r--r--comp347/assignment2/assignment2.md92
1 files changed, 92 insertions, 0 deletions
diff --git a/comp347/assignment2/assignment2.md b/comp347/assignment2/assignment2.md
new file mode 100644
index 0000000..392c2f3
--- /dev/null
+++ b/comp347/assignment2/assignment2.md
@@ -0,0 +1,92 @@
+# COMP-347: Computer Networks
+## Assignment 2
+
+**Student Name:** [Your Name]
+**Student ID:** [Your Student ID]
+**Time Spent:** [Hours spent on assignment]
+**Due:** After completion of Units 3, 4, and 5
+
+---
+
+## Part 1: Short Answer Questions (30%)
+
+### 1.1 TCP Reliable Data Transfer (5%)
+
+TCP provides reliable data transfer over IP's unreliable best-effort service through several key mechanisms:
+
+#### 1. Sequence Numbers and Acknowledgments
+TCP assigns a sequence number to each byte of data sent. The receiver sends acknowledgments (ACKs) back to the sender to confirm successful receipt of data. The ACK number indicates the next expected sequence number, providing cumulative acknowledgment of all bytes received up to that point.
+
+#### 2. Checksums for Error Detection
+Each TCP segment includes a checksum field that covers the header and data. The receiver calculates the checksum and compares it with the received value. If they don't match, the segment is discarded, and no ACK is sent, triggering retransmission.
+
+#### 3. Timeout and Retransmission
+TCP maintains a retransmission timer for each unacknowledged segment. If an ACK is not received within the timeout period, TCP assumes the segment was lost and retransmits it. The timeout value is dynamically calculated based on measured round-trip times (RTT).
+
+#### 4. Duplicate Detection
+Using sequence numbers, TCP can detect and discard duplicate segments that may arrive due to unnecessary retransmissions. This prevents duplicate data from being delivered to the application.
+
+#### 5. Flow Control
+TCP implements a sliding window mechanism using the receive window field in the header. The receiver advertises how much buffer space it has available, preventing the sender from overwhelming the receiver with data.
+
+#### 6. In-Order Delivery
+TCP uses sequence numbers to reorder segments that arrive out of order due to different network paths or processing delays, ensuring the application receives data in the correct sequence.
+
+#### 7. Connection Management
+TCP establishes connections through a three-way handshake and terminates them gracefully, ensuring both endpoints agree on the connection state and that all data has been successfully delivered before closing.
+
+**Summary:** TCP transforms IP's unreliable service into a reliable one by adding acknowledgments, retransmission, error detection, flow control, and ordering mechanisms, creating a robust communication channel for applications.
+
+### 1.2 Go-Back-N Protocol (5%)
+
+[To be completed]
+
+### 1.3 IPv6 Transition (5%)
+
+[To be completed]
+
+### 1.4 SNMP Protocol (5%)
+
+[To be completed]
+
+### 1.5 SDN-Enabled Devices (5%)
+
+[To be completed]
+
+### 1.6 BGP Loop Detection (5%)
+
+[To be completed]
+
+---
+
+## Part 2: Long Answer Questions (70%)
+
+### 2.1 1's Complement Checksum (10%)
+
+**Given 8-bit bytes:** 11011001, 01010010, 11001010, 10100100, 01011001
+
+[To be completed]
+
+### 2.2 Dijkstra's Shortest Path Algorithm (20%)
+
+[To be completed]
+
+### 2.3 CIDR Routing (20%)
+
+**Routing Table:**
+- 135.46.56.0/22 Interface 0
+- 135.46.60.0/22 Interface 1
+- 192.53.40.0/23 Router 2
+- Default Router 3
+
+[To be completed]
+
+### 2.4 TCP Congestion Control (20%)
+
+**Given:**
+- Link: 1 Gbps, no buffering
+- Segment size: 1,500 bytes
+- RTT: 15 msec
+- Always in congestion avoidance phase
+
+[To be completed] \ No newline at end of file