summaryrefslogtreecommitdiff
path: root/Assignment 2 - Instructions.html
blob: c2bfb5cd569508fff6b910f6253cee56f70236cc (plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Assignment 2 - Instructions</title>
  </head>
  <body>
    <div class="container-fluid">
      <div class="row">
        <div class="offset-sm-1 col-sm-10">
          <div class="jumbotron">
            <p>This page includes instructions for Assignment 2 and a link (below the instructions) to submit the assignment for assessment.</p>
          </div>
          <h2>Assignment 2</h2>
          <p><strong>Due:</strong> After completion of Units 3, 4, and 5<br><strong>Weight:</strong> 20% of your final grade</p>
          <h3>General Instructions</h3>
          <p>This assignment should be done after you have completed your study of Unit 3, Unit 4, and Unit 5. Your assignment must be written in either MS-Word or HTML and it must begin with a cover page containing the course number and title, assignment number, your name and your student ID, as well as the time you spent on the assignment. The file containing the cover page must be named <strong>assignment2.doc</strong> or <strong>assigment2.htm.</strong> If you have more than one file for the assignment, those files and all other files should be accessible through the file containing the cover page, either directly or indirectly through hyperlinks.</p>
          <h3>Organization of Your Assignment Files</h3>
          <p>You need to create a root directory or folder named <strong>comp347</strong> somewhere on the file system of your computer and keep all your work related to the course under that directory; for this assignment you need to create a subdirectory or subfolder named <strong>assignment2</strong> and put all the necessary files for the assignment under that dedicated subdirectory. When you submit your assignment, you must compress the entire subdirectory of <strong>assignment2</strong> in a file named <strong>assignment2.zip</strong> and send the compressed file for marking.</p>
          <p>By default, you must answer each of the questions in your own words with enough details to show your work for your solutions, and <strong>you must not copy from others! You will automatically receive a failure grade for this course if you have been found to have copied your answers from external sources.</strong> Please read the university’s <a target="_blank" href="https://www.athabascau.ca/calendar/graduate/additional-information/student-code-of-conduct-and-right-to-appeals.html" rel="noopener">academic misconduct policy</a> carefully before you begin the assignment.</p>
          <h3>Part 1: Short Answer Questions (30%)</h3>
          <div class="row">
            <div class="col-1">
              <p align="right">1.1</p>
            </div>
            <div class="col-11">
              <p>(5%) TCP provides a reliable data transfer service on top of IP’s unreliable best‑effort service. Study related sections of the textbook and articles from other sources. In your own words, explain how TCP provides a reliable data transfer service.</p>
            </div>
          </div>
          <div class="row">
            <div class="col-1">
              <p align="right">1.2</p>
            </div>
            <div class="col-11">
              <p>(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?</p>
            </div>
          </div>
          <div class="row">
            <div class="col-1">
              <p align="right">1.3</p>
            </div>
            <div class="col-11">
              <p>(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?</p>
            </div>
          </div>
          <div class="row">
            <div class="col-1">
              <p align="right">1.4</p>
            </div>
            <div class="col-11">
              <p>(5%) SNMP is a protocol for network management. It has seven message types. What are the purposes of the SNMP <em>GetRequest</em> and <em>SetRequest</em> messages? Why were UDP datagrams chosen to transport SNMP messages?</p>
            </div>
          </div>
          <div class="row">
            <div class="col-1">
              <p align="right">1.5</p>
            </div>
            <div class="col-11">
              <p>(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?</p>
            </div>
          </div>
          <div class="row">
            <div class="col-1">
              <p align="right">1.6</p>
            </div>
            <div class="col-11">
              <p>(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?</p>
            </div>
          </div>
          <h3>Part 2: Long Answer Questions (70%)</h3>
          <p>Solve the following network problems and show your work in detail.</p>
          <div class="row">
            <div class="col-1">
              <p align="right">2.1</p>
            </div>
            <div class="col-11">
              <p>(10%) UDP and TCP use 1’s complement for their checksums to detect errors. Suppose you have the following 8‑bit bytes: 11011001, 01010010, 11001010, 10100100 and 01011001.</p>
              <ol type="a">
                <li>What is the 1’s complement of the sum of these 8‑bit bytes? Show all the details of your work.</li>
                <li>Why do UDP and TCP take the 1’s complement of the sum as their checksum, instead of the just sum of these bytes?</li>
                <li>With the 1’s complement scheme, how does the receiver detect errors?</li>
                <li>With this checksum scheme, is it possible that any 1‑bit error will go undetected? How about a 2‑bit error? Explain your answer.</li>
              </ol>
            </div>
          </div>
          <div class="row">
            <div class="col-1">
              <p align="right">2.2</p>
            </div>
            <div class="col-11">
              <p>(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.</p>
              <div class="table-responsive">
                <table class="table table-hover table-compact">
                  <thead>
                    <tr>
                      <th scope="col">Step</th>
                      <th scope="col">N’</th>
                      <th scope="col">D(v),P(v)</th>
                      <th scope="col">D(w),P(w)</th>
                      <th scope="col">D(x),P(x)</th>
                      <th scope="col">D(y),P(y)</th>
                      <th scope="col">D(z),P(z)</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>0</td>
                      <td>u</td>
                      <td>2,u</td>
                      <td>5,u</td>
                      <td>1,u</td>
                      <td>∞</td>
                      <td>∞</td>
                    </tr>
                    <tr>
                      <td>1</td>
                      <td>ux</td>
                      <td>2,u</td>
                      <td>4,x</td>
                      <td></td>
                      <td>2,x</td>
                      <td>∞</td>
                    </tr>
                    <tr>
                      <td>2</td>
                      <td>uxy</td>
                      <td>2,u</td>
                      <td>3,y</td>
                      <td></td>
                      <td></td>
                      <td>4,y</td>
                    </tr>
                    <tr>
                      <td>3</td>
                      <td>uxyv</td>
                      <td></td>
                      <td>3,y</td>
                      <td></td>
                      <td></td>
                      <td>4,y</td>
                    </tr>
                    <tr>
                      <td>4</td>
                      <td>uxyvw</td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td>4,y</td>
                    </tr>
                    <tr>
                      <td>5</td>
                      <td>uxyvwz</td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                      <td></td>
                    </tr>
                  </tbody>
                </table>
              </div>
              <ol type="a">
                <li>Interpret the table above in your words: what it is showing and what are each row and each column showing?</li>
                <li>
                  <p>Consider the network shown in the following diagram. With the indicated link costs, use Dijkstra’s shortest path algorithm to compute the shortest path from <em>x</em> to all other network nodes. Show how the algorithm works by computing a table like the one above.</p>
                  <figure class="figure col-10"><img src="fig-Q2-2.png" alt="" class="figure-img img-fluid" width="100%" height="auto">
                    <figcaption class="figure-caption"></figcaption>
                  </figure>
                </li>
              </ol>
            </div>
          </div>
          <div class="row">
            <div class="col-1">
              <p align="right">2.3</p>
            </div>
            <div class="col-11">
              <p>(20%) A router running classless interdomain routing (CIDR) has the following entries in its routing table:</p>
              <div class="padding-left-block">
                <p>Address/mask Next hop<br>135.46.56.0/22 Interface 0<br>135.46.60.0/22 Interface 1<br>192.53.40.0/23 Router 2<br>Default Router 3</p>
              </div>
              <p>How does a CIDR router route the packets it receives? For each of the following IP addresses, explain what the router will do if a packet with that address arrives.</p>
              <ol type="a">
                <li>135.46.61.10</li>
                <li>135.46.53.16</li>
                <li>192.53.40.6</li>
                <li>192.53.56.7</li>
              </ol>
            </div>
          </div>
          <div class="row">
            <div class="col-1">
              <p align="right">2.4</p>
            </div>
            <div class="col-11">
              <p>(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).</p>
              <ol type="a">
                <li>What is the maximum window size (in segments) that this TCP connection can achieve?</li>
                <li>What is the average window size (in segments) and average throughput (in bps) of this TCP connection?</li>
                <li>How long would it take for this TCP connection to reach its maximum window again after recovering from a packet loss?</li>
                <li>Assume we want the 1 Gbps link to buffer a finite number of segments and always keep the link busy sending data. How would you choose a buffer size? Justify your answer.</li>
              </ol>
            </div>
          </div>
          <div class="card card-graphic">
            <div class="card-body">
              <div class="callout-icon callout-icon-info"></div>
              <div class="card-text">
                <h4>Submission Instructions</h4>
                <p>Submit your completed assignment to <a href="/d2l/common/dialogs/quickLink/quickLink.d2l?ou=16029&amp;type=dropbox&amp;rcode=e25e8fce5fed4e45a172488d-10" target="_top">Assignment 2</a> for assessment (submission link will be available upon your course contract start date).</p>
                <h5>Important</h5>
                <ol>
                  <li>
                    <p>Once you submit the assignment for grading, your submission is final. To resubmit the assignment, you <strong>must</strong> obtain special permission from your instructor.</p>
                  </li>
                  <li>
                    <p>Please name your file using the following template:<br><code>&lt;course shortname&gt;_&lt;assignment#&gt;_&lt;lastname&gt;&lt;firstname&gt;_&lt;studentID&gt;</code></p>
                    <p>Examples:</p>
                    <ul>
                      <li>COMP101_Assignment1_DoeJane_1234567</li>
                      <li>COMP101_Assignment1_file1_DoeJane_1234567</li>
                      <li>COMP101_FinalAssignment_DoeJane_1234567</li>
                    </ul>
                  </li>
                </ol>
              </div>
            </div>
          </div>
        </div>
        <div class="col-12">
          <footer></footer>
        </div>
      </div>
    </div>
  </body>
</html>